diff --git a/build/contracts/BytesToTypes.json b/build/contracts/BytesToTypes.json index abe5736..24097e5 100644 --- a/build/contracts/BytesToTypes.json +++ b/build/contracts/BytesToTypes.json @@ -1,21 +1,21 @@ { "contractName": "BytesToTypes", "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"pouladzade@gmail.com\",\"methods\":{},\"title\":\"BytesToTypes\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol\":\"BytesToTypes\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol\":{\"keccak256\":\"0x7abcc4447031026fce32aa0dda3c793149492b1dff86d1af8d70933a828f790e\",\"urls\":[\"bzzr://c468730a3106332b059555dfa7eb92880d377d8cf149657d839d54e238d6f825\"]}},\"version\":1}", - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058202ed731da02475bf133dbddbcff28bdc4192c2715c95b61925b22f5d4bf4558ca0029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a723058202ed731da02475bf133dbddbcff28bdc4192c2715c95b61925b22f5d4bf4558ca0029", - "sourceMap": "187:14723:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;187:14723:1;;;;;;;", - "deployedSourceMap": "187:14723:1:-;;;;;", - "source": "pragma solidity ^0.4.16;\n\n/**\n * @title BytesToTypes\n * @dev The BytesToTypes contract converts the memory byte arrays to the standard solidity types\n * @author pouladzade@gmail.com\n */\n\ncontract BytesToTypes {\n \n\n function bytesToAddress(uint _offst, bytes memory _input) internal pure returns (address _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n \n function bytesToBool(uint _offst, bytes memory _input) internal pure returns (bool _output) {\n \n uint8 x;\n assembly {\n x := mload(add(_input, _offst))\n }\n x==0 ? _output = false : _output = true;\n } \n \n function getStringSize(uint _offst, bytes memory _input) internal pure returns(uint size){\n \n assembly{\n \n size := mload(add(_input,_offst))\n let chunk_count := add(div(size,32),1) // chunk_count = size/32 + 1\n \n if gt(mod(size,32),0) {// if size%32 > 0\n chunk_count := add(chunk_count,1)\n } \n \n size := mul(chunk_count,32)// first 32 bytes reseves for size in strings\n }\n }\n\n function bytesToString(uint _offst, bytes memory _input, bytes memory _output) internal {\n\n uint size = 32;\n assembly {\n let loop_index:= 0\n \n let chunk_count\n \n size := mload(add(_input,_offst))\n chunk_count := add(div(size,32),1) // chunk_count = size/32 + 1\n \n if gt(mod(size,32),0) {\n chunk_count := add(chunk_count,1) // chunk_count++\n }\n \n \n loop:\n mstore(add(_output,mul(loop_index,32)),mload(add(_input,_offst)))\n _offst := sub(_offst,32) // _offst -= 32\n loop_index := add(loop_index,1)\n \n jumpi(loop , lt(loop_index , chunk_count))\n \n }\n }\n\n function bytesToBytes32(uint _offst, bytes memory _input, bytes32 _output) internal pure {\n \n assembly {\n mstore(_output , add(_input, _offst))\n mstore(add(_output,32) , add(add(_input, _offst),32))\n }\n }\n \n function bytesToInt8(uint _offst, bytes memory _input) internal pure returns (int8 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n \n function bytesToInt16(uint _offst, bytes memory _input) internal pure returns (int16 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt24(uint _offst, bytes memory _input) internal pure returns (int24 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt32(uint _offst, bytes memory _input) internal pure returns (int32 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt40(uint _offst, bytes memory _input) internal pure returns (int40 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt48(uint _offst, bytes memory _input) internal pure returns (int48 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt56(uint _offst, bytes memory _input) internal pure returns (int56 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt64(uint _offst, bytes memory _input) internal pure returns (int64 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt72(uint _offst, bytes memory _input) internal pure returns (int72 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt80(uint _offst, bytes memory _input) internal pure returns (int80 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt88(uint _offst, bytes memory _input) internal pure returns (int88 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt96(uint _offst, bytes memory _input) internal pure returns (int96 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\t\n\tfunction bytesToInt104(uint _offst, bytes memory _input) internal pure returns (int104 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n \n function bytesToInt112(uint _offst, bytes memory _input) internal pure returns (int112 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt120(uint _offst, bytes memory _input) internal pure returns (int120 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt128(uint _offst, bytes memory _input) internal pure returns (int128 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt136(uint _offst, bytes memory _input) internal pure returns (int136 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt144(uint _offst, bytes memory _input) internal pure returns (int144 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt152(uint _offst, bytes memory _input) internal pure returns (int152 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt160(uint _offst, bytes memory _input) internal pure returns (int160 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt168(uint _offst, bytes memory _input) internal pure returns (int168 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt176(uint _offst, bytes memory _input) internal pure returns (int176 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt184(uint _offst, bytes memory _input) internal pure returns (int184 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt192(uint _offst, bytes memory _input) internal pure returns (int192 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt200(uint _offst, bytes memory _input) internal pure returns (int200 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt208(uint _offst, bytes memory _input) internal pure returns (int208 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt216(uint _offst, bytes memory _input) internal pure returns (int216 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt224(uint _offst, bytes memory _input) internal pure returns (int224 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt232(uint _offst, bytes memory _input) internal pure returns (int232 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt240(uint _offst, bytes memory _input) internal pure returns (int240 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt248(uint _offst, bytes memory _input) internal pure returns (int248 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt256(uint _offst, bytes memory _input) internal pure returns (int256 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n\tfunction bytesToUint8(uint _offst, bytes memory _input) internal pure returns (uint8 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint16(uint _offst, bytes memory _input) internal pure returns (uint16 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint24(uint _offst, bytes memory _input) internal pure returns (uint24 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint32(uint _offst, bytes memory _input) internal pure returns (uint32 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint40(uint _offst, bytes memory _input) internal pure returns (uint40 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint48(uint _offst, bytes memory _input) internal pure returns (uint48 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint56(uint _offst, bytes memory _input) internal pure returns (uint56 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint64(uint _offst, bytes memory _input) internal pure returns (uint64 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint72(uint _offst, bytes memory _input) internal pure returns (uint72 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint80(uint _offst, bytes memory _input) internal pure returns (uint80 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint88(uint _offst, bytes memory _input) internal pure returns (uint88 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n\tfunction bytesToUint96(uint _offst, bytes memory _input) internal pure returns (uint96 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\t\n\tfunction bytesToUint104(uint _offst, bytes memory _input) internal pure returns (uint104 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint112(uint _offst, bytes memory _input) internal pure returns (uint112 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint120(uint _offst, bytes memory _input) internal pure returns (uint120 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint128(uint _offst, bytes memory _input) internal pure returns (uint128 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint136(uint _offst, bytes memory _input) internal pure returns (uint136 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint144(uint _offst, bytes memory _input) internal pure returns (uint144 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint152(uint _offst, bytes memory _input) internal pure returns (uint152 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint160(uint _offst, bytes memory _input) internal pure returns (uint160 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint168(uint _offst, bytes memory _input) internal pure returns (uint168 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint176(uint _offst, bytes memory _input) internal pure returns (uint176 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint184(uint _offst, bytes memory _input) internal pure returns (uint184 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint192(uint _offst, bytes memory _input) internal pure returns (uint192 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint200(uint _offst, bytes memory _input) internal pure returns (uint200 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint208(uint _offst, bytes memory _input) internal pure returns (uint208 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint216(uint _offst, bytes memory _input) internal pure returns (uint216 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint224(uint _offst, bytes memory _input) internal pure returns (uint224 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint232(uint _offst, bytes memory _input) internal pure returns (uint232 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint240(uint _offst, bytes memory _input) internal pure returns (uint240 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint248(uint _offst, bytes memory _input) internal pure returns (uint248 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n\n function bytesToUint256(uint _offst, bytes memory _input) internal pure returns (uint256 _output) {\n \n assembly {\n _output := mload(add(_input, _offst))\n }\n } \n \n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"pouladzade@gmail.com\",\"details\":\"The BytesToTypes contract converts the memory byte arrays to the standard solidity types\",\"methods\":{},\"title\":\"BytesToTypes\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol\":\"BytesToTypes\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol\":{\"keccak256\":\"0x99a3de28e7cd28f161e692995a7bb566052015e663f69e503051ae125b91c490\",\"urls\":[\"bzz-raw://35391a26b38350ff720b2b990bbae6ee5d416021f57a525dc2eeaf5dced4317a\",\"dweb:/ipfs/QmakFie6vTvvSm34qktjXVDZaZMS3nBrpq4oyRz7JNBMef\"]}},\"version\":1}", + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212206baee6e2f4438db085b43bb4a149c853c3aad524e5e5da8976a4aa0d8b05891464736f6c63430006040033", + "deployedBytecode": "0x6080604052600080fdfea26469706673582212206baee6e2f4438db085b43bb4a149c853c3aad524e5e5da8976a4aa0d8b05891464736f6c63430006040033", + "sourceMap": "187:16124:1:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;187:16124:1;;;;;;;", + "deployedSourceMap": "187:16124:1:-:0;;;12:1:-1;9;2:12", + "source": "pragma solidity ^0.6.4;\n\n\n/**\n * @title BytesToTypes\n * @dev The BytesToTypes contract converts the memory byte arrays to the standard solidity types\n * @author pouladzade@gmail.com\n */\n\ncontract BytesToTypes {\n function bytesToAddress(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (address _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToBool(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (bool _output)\n {\n uint8 x;\n assembly {\n x := mload(add(_input, _offst))\n }\n x == 0 ? _output = false : _output = true;\n }\n\n function getStringSize(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint256 size)\n {\n assembly {\n size := mload(add(_input, _offst))\n let chunk_count := add(div(size, 32), 1) // chunk_count = size/32 + 1\n\n if gt(mod(size, 32), 0) {\n // if size%32 > 0\n chunk_count := add(chunk_count, 1)\n }\n\n size := mul(chunk_count, 32) // first 32 bytes reseves for size in strings\n }\n }\n\n function bytesToString(\n uint256 _offst,\n bytes memory _input,\n bytes memory _output\n ) internal pure {\n uint256 size = 32;\n assembly {\n let chunk_count := 0\n\n size := mload(add(_input, _offst))\n chunk_count := add(div(size, 32), 1) // chunk_count = size/32 + 1\n\n if gt(mod(size, 32), 0) {\n chunk_count := add(chunk_count, 1) // chunk_count++\n }\n\n for {\n let index := 0\n } lt(index, chunk_count) {\n index := add(index, 1)\n } {\n mstore(add(_output, mul(index, 32)), mload(add(_input, _offst)))\n _offst := sub(_offst, 32) // _offst -= 32\n }\n }\n }\n\n function bytesToBytes32(\n uint256 _offst,\n bytes memory _input,\n bytes32 _output\n ) internal pure {\n assembly {\n mstore(_output, add(_input, _offst))\n mstore(add(_output, 32), add(add(_input, _offst), 32))\n }\n }\n\n function bytesToInt8(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int8 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt16(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int16 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt24(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int24 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt32(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int32 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt40(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int40 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt48(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int48 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt56(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int56 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt64(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int64 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt72(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int72 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt80(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int80 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt88(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int88 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt96(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int96 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt104(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int104 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt112(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int112 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt120(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int120 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt128(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int128 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt136(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int136 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt144(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int144 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt152(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int152 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt160(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int160 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt168(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int168 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt176(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int176 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt184(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int184 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt192(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int192 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt200(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int200 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt208(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int208 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt216(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int216 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt224(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int224 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt232(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int232 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt240(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int240 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt248(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int248 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToInt256(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (int256 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint8(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint8 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint16(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint16 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint24(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint24 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint32(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint32 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint40(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint40 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint48(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint48 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint56(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint56 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint64(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint64 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint72(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint72 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint80(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint80 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint88(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint88 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint96(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint96 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint104(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint104 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint112(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint112 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint120(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint120 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint128(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint128 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint136(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint136 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint144(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint144 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint152(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint152 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint160(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint160 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint168(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint168 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint176(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint176 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint184(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint184 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint192(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint192 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint200(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint200 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint208(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint208 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint216(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint216 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint224(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint224 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint232(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint232 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint240(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint240 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint248(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint248 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n\n function bytesToUint256(uint256 _offst, bytes memory _input)\n internal\n pure\n returns (uint256 _output)\n {\n assembly {\n _output := mload(add(_input, _offst))\n }\n }\n}\n", "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol", "ast": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol", "exportedSymbols": { "BytesToTypes": [ - 836 + 837 ] }, - "id": 837, + "id": 838, "nodeType": "SourceUnit", "nodes": [ { @@ -23,87 +23,137 @@ "literals": [ "solidity", "^", - "0.4", - ".16" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:1" + "src": "0:23:1" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@title BytesToTypes\n@dev The BytesToTypes contract converts the memory byte arrays to the standard solidity types\n@author pouladzade@gmail.com", + "documentation": { + "id": 59, + "nodeType": "StructuredDocumentation", + "src": "26:159:1", + "text": "@title BytesToTypes\n@dev The BytesToTypes contract converts the memory byte arrays to the standard solidity types\n@author pouladzade@gmail.com" + }, "fullyImplemented": true, - "id": 836, + "id": 837, "linearizedBaseContracts": [ - 836 + 837 ], "name": "BytesToTypes", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 68, + "id": 69, "nodeType": "Block", - "src": "319:95:1", + "src": "344:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "363:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "377:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "398:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "406:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "394:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "394:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "388:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "388:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "377:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 65, - "isOffset": false, - "isSlot": false, - "src": "361:7:1", - "valueSize": 1 - } + "declaration": 63, + "isOffset": false, + "isSlot": false, + "src": "398:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 62, - "isOffset": false, - "isSlot": false, - "src": "382:6:1", - "valueSize": 1 - } + "declaration": 61, + "isOffset": false, + "isSlot": false, + "src": "406:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 60, - "isOffset": false, - "isSlot": false, - "src": "390:6:1", - "valueSize": 1 - } + "declaration": 66, + "isOffset": false, + "isSlot": false, + "src": "377:7:1", + "valueSize": 1 } ], - "id": 67, + "id": 68, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "338:76:1" + "src": "354:70:1" } ] }, "documentation": null, - "id": 69, + "id": 70, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToAddress", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 63, + "id": 64, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 60, + "id": 61, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 69, - "src": "245:11:1", + "overrides": null, + "scope": 70, + "src": "239:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -111,10 +161,10 @@ "typeString": "uint256" }, "typeName": { - "id": 59, - "name": "uint", + "id": 60, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "245:4:1", + "src": "239:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -125,11 +175,12 @@ }, { "constant": false, - "id": 62, + "id": 63, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 69, - "src": "258:19:1", + "overrides": null, + "scope": 70, + "src": "255:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -137,10 +188,10 @@ "typeString": "bytes" }, "typeName": { - "id": 61, + "id": 62, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "258:5:1", + "src": "255:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -150,20 +201,20 @@ "visibility": "internal" } ], - "src": "244:34:1" + "src": "238:37:1" }, - "payable": false, "returnParameters": { - "id": 66, + "id": 67, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 65, + "id": 66, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 69, - "src": "302:15:1", + "overrides": null, + "scope": 70, + "src": "323:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -171,10 +222,11 @@ "typeString": "address" }, "typeName": { - "id": 64, + "id": 65, "name": "address", "nodeType": "ElementaryTypeName", - "src": "302:7:1", + "src": "323:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -184,30 +236,33 @@ "visibility": "internal" } ], - "src": "301:17:1" + "src": "322:17:1" }, - "scope": 836, - "src": "221:193:1", + "scope": 837, + "src": "215:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 93, + "id": 94, "nodeType": "Block", - "src": "517:155:1", + "src": "559:148:1", "statements": [ { - "assignments": [], + "assignments": [ + 80 + ], "declarations": [ { "constant": false, - "id": 79, + "id": 80, "name": "x", "nodeType": "VariableDeclaration", + "overrides": null, "scope": 94, - "src": "536:7:1", + "src": "569:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -215,10 +270,10 @@ "typeString": "uint8" }, "typeName": { - "id": 78, + "id": 79, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "536:5:1", + "src": "569:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -228,45 +283,88 @@ "visibility": "internal" } ], - "id": 80, + "id": 81, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "536:7:1" + "src": "569:7:1" }, { + "AST": { + "nodeType": "YulBlock", + "src": "595:55:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "609:31:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "624:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "632:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "620:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "620:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "614:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "614:26:1" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "609:1:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "x": { - "declaration": 79, - "isOffset": false, - "isSlot": false, - "src": "576:1:1", - "valueSize": 1 - } + "declaration": 74, + "isOffset": false, + "isSlot": false, + "src": "624:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 73, - "isOffset": false, - "isSlot": false, - "src": "591:6:1", - "valueSize": 1 - } + "declaration": 72, + "isOffset": false, + "isSlot": false, + "src": "632:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 71, - "isOffset": false, - "isSlot": false, - "src": "599:6:1", - "valueSize": 1 - } + "declaration": 80, + "isOffset": false, + "isSlot": false, + "src": "609:1:1", + "valueSize": 1 } ], - "id": 81, + "id": 82, "nodeType": "InlineAssembly", - "operations": "{\n x := mload(add(_input, _offst))\n}", - "src": "553:74:1" + "src": "586:64:1" }, { "expression": { @@ -277,19 +375,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 84, + "id": 85, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 82, + "id": 83, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "626:1:1", + "referencedDeclaration": 80, + "src": "659:1:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -300,14 +398,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 83, + "id": 84, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "629:1:1", + "src": "664:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -315,7 +413,7 @@ }, "value": "0" }, - "src": "626:4:1", + "src": "659:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -323,19 +421,19 @@ }, "falseExpression": { "argumentTypes": null, - "id": 90, + "id": 91, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 88, + "id": 89, "name": "_output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "651:7:1", + "referencedDeclaration": 77, + "src": "686:7:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -346,14 +444,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 89, + "id": 90, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "661:4:1", + "src": "696:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -361,34 +459,34 @@ }, "value": "true" }, - "src": "651:14:1", + "src": "686:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 91, + "id": 92, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "626:39:1", + "src": "659:41:1", "trueExpression": { "argumentTypes": null, - "id": 87, + "id": 88, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 85, + "id": 86, "name": "_output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "633:7:1", + "referencedDeclaration": 77, + "src": "668:7:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -399,14 +497,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 86, + "id": 87, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "643:5:1", + "src": "678:5:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -414,7 +512,7 @@ }, "value": "false" }, - "src": "633:15:1", + "src": "668:15:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -425,31 +523,32 @@ "typeString": "bool" } }, - "id": 92, + "id": 93, "nodeType": "ExpressionStatement", - "src": "626:39:1" + "src": "659:41:1" } ] }, "documentation": null, - "id": 94, + "id": 95, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToBool", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 74, + "id": 75, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 71, + "id": 72, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 94, - "src": "446:11:1", + "overrides": null, + "scope": 95, + "src": "457:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -457,10 +556,10 @@ "typeString": "uint256" }, "typeName": { - "id": 70, - "name": "uint", + "id": 71, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "446:4:1", + "src": "457:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -471,11 +570,12 @@ }, { "constant": false, - "id": 73, + "id": 74, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 94, - "src": "459:19:1", + "overrides": null, + "scope": 95, + "src": "473:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -483,10 +583,10 @@ "typeString": "bytes" }, "typeName": { - "id": 72, + "id": 73, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "459:5:1", + "src": "473:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -496,20 +596,20 @@ "visibility": "internal" } ], - "src": "445:34:1" + "src": "456:37:1" }, - "payable": false, "returnParameters": { - "id": 77, + "id": 78, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76, + "id": 77, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 94, - "src": "503:12:1", + "overrides": null, + "scope": 95, + "src": "541:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -517,10 +617,10 @@ "typeString": "bool" }, "typeName": { - "id": 75, + "id": 76, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "503:4:1", + "src": "541:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -530,103 +630,313 @@ "visibility": "internal" } ], - "src": "502:14:1" + "src": "540:14:1" }, - "scope": 836, - "src": "425:247:1", + "scope": 837, + "src": "436:271:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 104, + "id": 105, "nodeType": "Block", - "src": "778:413:1", + "src": "838:391:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "857:366:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "871:34:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "889:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "897:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "885:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "885:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "879:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "879:26:1" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "871:4:1" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "918:40:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "945:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "951:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "941:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "941:13:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "956:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "937:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "937:21:1" + }, + "variables": [ + { + "name": "chunk_count", + "nodeType": "YulTypedName", + "src": "922:11:1", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1025:100:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1077:34:1", + "value": { + "arguments": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1096:11:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1109:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1092:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1092:19:1" + }, + "variableNames": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1077:11:1" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1011:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1017:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mod", + "nodeType": "YulIdentifier", + "src": "1007:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1007:13:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1022:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1004:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1004:20:1" + }, + "nodeType": "YulIf", + "src": "1001:2:1" + }, + { + "nodeType": "YulAssignment", + "src": "1139:28:1", + "value": { + "arguments": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1151:11:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1164:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "1147:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1147:20:1" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1139:4:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "size": { - "declaration": 101, - "isOffset": false, - "isSlot": false, - "src": "832:4:1", - "valueSize": 1 - } + "declaration": 99, + "isOffset": false, + "isSlot": false, + "src": "889:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 98, - "isOffset": false, - "isSlot": false, - "src": "850:6:1", - "valueSize": 1 - } + "declaration": 97, + "isOffset": false, + "isSlot": false, + "src": "897:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 96, - "isOffset": false, - "isSlot": false, - "src": "857:6:1", - "valueSize": 1 - } + "declaration": 102, + "isOffset": false, + "isSlot": false, + "src": "1011:4:1", + "valueSize": 1 }, { - "size": { - "declaration": 101, - "isOffset": false, - "isSlot": false, - "src": "905:4:1", - "valueSize": 1 - } + "declaration": 102, + "isOffset": false, + "isSlot": false, + "src": "1139:4:1", + "valueSize": 1 }, { - "size": { - "declaration": 101, - "isOffset": false, - "isSlot": false, - "src": "981:4:1", - "valueSize": 1 - } + "declaration": 102, + "isOffset": false, + "isSlot": false, + "src": "871:4:1", + "valueSize": 1 }, { - "size": { - "declaration": 101, - "isOffset": false, - "isSlot": false, - "src": "1103:4:1", - "valueSize": 1 - } + "declaration": 102, + "isOffset": false, + "isSlot": false, + "src": "945:4:1", + "valueSize": 1 } ], - "id": 103, + "id": 104, "nodeType": "InlineAssembly", - "operations": "{\n size := mload(add(_input, _offst))\n let chunk_count := add(div(size, 32), 1)\n if gt(mod(size, 32), 0)\n {\n chunk_count := add(chunk_count, 1)\n }\n size := mul(chunk_count, 32)\n}", - "src": "797:394:1" + "src": "848:375:1" } ] }, "documentation": null, - "id": 105, + "id": 106, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getStringSize", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 99, + "id": 100, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 96, + "id": 97, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 105, - "src": "712:11:1", + "overrides": null, + "scope": 106, + "src": "736:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -634,10 +944,10 @@ "typeString": "uint256" }, "typeName": { - "id": 95, - "name": "uint", + "id": 96, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "712:4:1", + "src": "736:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -648,11 +958,12 @@ }, { "constant": false, - "id": 98, + "id": 99, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 105, - "src": "725:19:1", + "overrides": null, + "scope": 106, + "src": "752:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -660,10 +971,10 @@ "typeString": "bytes" }, "typeName": { - "id": 97, + "id": 98, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "725:5:1", + "src": "752:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -673,20 +984,20 @@ "visibility": "internal" } ], - "src": "711:34:1" + "src": "735:37:1" }, - "payable": false, "returnParameters": { - "id": 102, + "id": 103, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 101, + "id": 102, "name": "size", "nodeType": "VariableDeclaration", - "scope": 105, - "src": "768:9:1", + "overrides": null, + "scope": 106, + "src": "820:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -694,10 +1005,10 @@ "typeString": "uint256" }, "typeName": { - "id": 100, - "name": "uint", + "id": 101, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "768:4:1", + "src": "820:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -707,32 +1018,33 @@ "visibility": "internal" } ], - "src": "767:11:1" + "src": "819:14:1" }, - "scope": 836, - "src": "689:502:1", + "scope": 837, + "src": "713:516:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 119, + "id": 120, "nodeType": "Block", - "src": "1286:735:1", + "src": "1361:640:1", "statements": [ { "assignments": [ - 115 + 116 ], "declarations": [ { "constant": false, - "id": 115, + "id": 116, "name": "size", "nodeType": "VariableDeclaration", + "overrides": null, "scope": 120, - "src": "1297:9:1", + "src": "1371:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -740,10 +1052,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114, - "name": "uint", + "id": 115, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1297:4:1", + "src": "1371:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -753,18 +1065,18 @@ "visibility": "internal" } ], - "id": 117, + "id": 118, "initialValue": { "argumentTypes": null, "hexValue": "3332", - "id": 116, + "id": 117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1309:2:1", + "src": "1386:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -773,127 +1085,529 @@ "value": "32" }, "nodeType": "VariableDeclarationStatement", - "src": "1297:14:1" + "src": "1371:17:1" }, { + "AST": { + "nodeType": "YulBlock", + "src": "1407:588:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1421:20:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1440:1:1", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "chunk_count", + "nodeType": "YulTypedName", + "src": "1425:11:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1455:34:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1473:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1481:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1469:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1469:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1463:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "1463:26:1" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1455:4:1" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1502:36:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1525:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1531:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "1521:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1521:13:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1536:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1517:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1517:21:1" + }, + "variableNames": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1502:11:1" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1605:83:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1623:34:1", + "value": { + "arguments": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1642:11:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1655:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1638:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1638:19:1" + }, + "variableNames": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1623:11:1" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1591:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1597:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mod", + "nodeType": "YulIdentifier", + "src": "1587:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1587:13:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1602:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1584:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1584:20:1" + }, + "nodeType": "YulIf", + "src": "1581:2:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1831:154:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "1860:7:1" + }, + { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1873:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1880:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "1869:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1869:14:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1856:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1856:28:1" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1896:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1904:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1892:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1892:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1886:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "1886:26:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1849:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1849:64:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1849:64:1" + }, + { + "nodeType": "YulAssignment", + "src": "1930:25:1", + "value": { + "arguments": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1944:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1952:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1940:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1940:15:1" + }, + "variableNames": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1930:6:1" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1756:5:1" + }, + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1763:11:1" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1753:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1753:22:1" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1776:54:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1794:22:1", + "value": { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1807:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1814:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1803:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1803:13:1" + }, + "variableNames": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1794:5:1" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1706:46:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1724:14:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1737:1:1", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "index", + "nodeType": "YulTypedName", + "src": "1728:5:1", + "type": "" + } + ] + } + ] + }, + "src": "1702:283:1" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "size": { - "declaration": 115, - "isOffset": false, - "isSlot": false, - "src": "1435:4:1", - "valueSize": 1 - } + "declaration": 110, + "isOffset": false, + "isSlot": false, + "src": "1473:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 109, - "isOffset": false, - "isSlot": false, - "src": "1453:6:1", - "valueSize": 1 - } + "declaration": 110, + "isOffset": false, + "isSlot": false, + "src": "1896:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 107, - "isOffset": false, - "isSlot": false, - "src": "1460:6:1", - "valueSize": 1 - } + "declaration": 108, + "isOffset": false, + "isSlot": false, + "src": "1481:6:1", + "valueSize": 1 }, { - "size": { - "declaration": 115, - "isOffset": false, - "isSlot": false, - "src": "1504:4:1", - "valueSize": 1 - } + "declaration": 108, + "isOffset": false, + "isSlot": false, + "src": "1904:6:1", + "valueSize": 1 }, { - "size": { - "declaration": 115, - "isOffset": false, - "isSlot": false, - "src": "1580:4:1", - "valueSize": 1 - } + "declaration": 108, + "isOffset": false, + "isSlot": false, + "src": "1930:6:1", + "valueSize": 1 }, { - "_output": { - "declaration": 111, - "isOffset": false, - "isSlot": false, - "src": "1751:7:1", - "valueSize": 1 - } + "declaration": 108, + "isOffset": false, + "isSlot": false, + "src": "1944:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 109, - "isOffset": false, - "isSlot": false, - "src": "1789:6:1", - "valueSize": 1 - } + "declaration": 112, + "isOffset": false, + "isSlot": false, + "src": "1860:7:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 107, - "isOffset": false, - "isSlot": false, - "src": "1796:6:1", - "valueSize": 1 - } + "declaration": 116, + "isOffset": false, + "isSlot": false, + "src": "1455:4:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 107, - "isOffset": false, - "isSlot": false, - "src": "1822:6:1", - "valueSize": 1 - } + "declaration": 116, + "isOffset": false, + "isSlot": false, + "src": "1525:4:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 107, - "isOffset": false, - "isSlot": false, - "src": "1836:6:1", - "valueSize": 1 - } + "declaration": 116, + "isOffset": false, + "isSlot": false, + "src": "1591:4:1", + "valueSize": 1 } ], - "id": 118, + "id": 119, "nodeType": "InlineAssembly", - "operations": "{\n let loop_index := 0\n let chunk_count\n size := mload(add(_input, _offst))\n chunk_count := add(div(size, 32), 1)\n if gt(mod(size, 32), 0)\n {\n chunk_count := add(chunk_count, 1)\n }\n loop:\n mstore(add(_output, mul(loop_index, 32)), mload(add(_input, _offst)))\n _offst := sub(_offst, 32)\n loop_index := add(loop_index, 1)\n jumpi(loop, lt(loop_index, chunk_count))\n}", - "src": "1321:700:1" + "src": "1398:597:1" } ] }, "documentation": null, - "id": 120, + "id": 121, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "bytesToString", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 112, + "id": 113, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 107, + "id": 108, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1220:11:1", + "overrides": null, + "scope": 121, + "src": "1267:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -901,10 +1615,10 @@ "typeString": "uint256" }, "typeName": { - "id": 106, - "name": "uint", + "id": 107, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1220:4:1", + "src": "1267:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -915,11 +1629,12 @@ }, { "constant": false, - "id": 109, + "id": 110, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1233:19:1", + "overrides": null, + "scope": 121, + "src": "1291:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -927,10 +1642,10 @@ "typeString": "bytes" }, "typeName": { - "id": 108, + "id": 109, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1233:5:1", + "src": "1291:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -941,11 +1656,12 @@ }, { "constant": false, - "id": 111, + "id": 112, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1254:20:1", + "overrides": null, + "scope": 121, + "src": "1320:20:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -953,10 +1669,10 @@ "typeString": "bytes" }, "typeName": { - "id": 110, + "id": 111, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1254:5:1", + "src": "1320:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -966,110 +1682,222 @@ "visibility": "internal" } ], - "src": "1219:56:1" + "src": "1257:89:1" }, - "payable": false, "returnParameters": { - "id": 113, + "id": 114, "nodeType": "ParameterList", "parameters": [], - "src": "1286:0:1" + "src": "1361:0:1" }, - "scope": 836, - "src": "1197:824:1", - "stateMutability": "nonpayable", - "superFunction": null, + "scope": 837, + "src": "1235:766:1", + "stateMutability": "pure", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 130, + "id": 131, "nodeType": "Block", - "src": "2117:161:1", + "src": "2129:152:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "2148:127:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "2169:7:1" + }, + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2182:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2190:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2178:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2178:19:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2162:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2162:36:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2162:36:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "2222:7:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2231:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2218:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2218:16:1" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2244:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2252:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2240:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2240:19:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2261:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2236:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2236:28:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2211:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2211:54:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2211:54:1" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 126, - "isOffset": false, - "isSlot": false, - "src": "2220:7:1", - "valueSize": 1 - } + "declaration": 125, + "isOffset": false, + "isSlot": false, + "src": "2182:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 124, - "isOffset": false, - "isSlot": false, - "src": "2242:6:1", - "valueSize": 1 - } + "declaration": 125, + "isOffset": false, + "isSlot": false, + "src": "2244:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 122, - "isOffset": false, - "isSlot": false, - "src": "2250:6:1", - "valueSize": 1 - } + "declaration": 123, + "isOffset": false, + "isSlot": false, + "src": "2190:6:1", + "valueSize": 1 }, { - "_output": { - "declaration": 126, - "isOffset": false, - "isSlot": false, - "src": "2166:7:1", - "valueSize": 1 - } + "declaration": 123, + "isOffset": false, + "isSlot": false, + "src": "2252:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 124, - "isOffset": false, - "isSlot": false, - "src": "2180:6:1", - "valueSize": 1 - } + "declaration": 127, + "isOffset": false, + "isSlot": false, + "src": "2169:7:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 122, - "isOffset": false, - "isSlot": false, - "src": "2188:6:1", - "valueSize": 1 - } + "declaration": 127, + "isOffset": false, + "isSlot": false, + "src": "2222:7:1", + "valueSize": 1 } ], - "id": 129, + "id": 130, "nodeType": "InlineAssembly", - "operations": "{\n mstore(_output, add(_input, _offst))\n mstore(add(_output, 32), add(add(_input, _offst), 32))\n}", - "src": "2136:142:1" + "src": "2139:136:1" } ] }, "documentation": null, - "id": 131, + "id": 132, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToBytes32", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 127, + "id": 128, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 122, + "id": 123, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 131, - "src": "2051:11:1", + "overrides": null, + "scope": 132, + "src": "2040:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1077,10 +1905,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121, - "name": "uint", + "id": 122, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2051:4:1", + "src": "2040:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1091,11 +1919,12 @@ }, { "constant": false, - "id": 124, + "id": 125, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 131, - "src": "2064:20:1", + "overrides": null, + "scope": 132, + "src": "2064:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1103,7 +1932,7 @@ "typeString": "bytes" }, "typeName": { - "id": 123, + "id": 124, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2064:5:1", @@ -1117,11 +1946,12 @@ }, { "constant": false, - "id": 126, + "id": 127, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 131, - "src": "2086:15:1", + "overrides": null, + "scope": 132, + "src": "2093:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1129,10 +1959,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 125, + "id": 126, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2086:7:1", + "src": "2093:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1142,83 +1972,126 @@ "visibility": "internal" } ], - "src": "2050:52:1" + "src": "2030:84:1" }, - "payable": false, "returnParameters": { - "id": 128, + "id": 129, "nodeType": "ParameterList", "parameters": [], - "src": "2117:0:1" + "src": "2129:0:1" }, - "scope": 836, - "src": "2027:251:1", + "scope": 837, + "src": "2007:274:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 141, + "id": 142, "nodeType": "Block", - "src": "2381:95:1", + "src": "2410:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "2429:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2443:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2464:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2472:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2460:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2460:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2454:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "2454:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "2443:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_input": { - "declaration": 135, - "isOffset": false, - "isSlot": false, - "src": "2444:6:1", - "valueSize": 1 - } + "declaration": 136, + "isOffset": false, + "isSlot": false, + "src": "2464:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 133, - "isOffset": false, - "isSlot": false, - "src": "2452:6:1", - "valueSize": 1 - } + "declaration": 134, + "isOffset": false, + "isSlot": false, + "src": "2472:6:1", + "valueSize": 1 }, { - "_output": { - "declaration": 138, - "isOffset": false, - "isSlot": false, - "src": "2423:7:1", - "valueSize": 1 - } + "declaration": 139, + "isOffset": false, + "isSlot": false, + "src": "2443:7:1", + "valueSize": 1 } ], - "id": 140, + "id": 141, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "2400:76:1" + "src": "2420:70:1" } ] }, "documentation": null, - "id": 142, + "id": 143, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt8", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 136, + "id": 137, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 133, + "id": 134, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 142, - "src": "2309:11:1", + "overrides": null, + "scope": 143, + "src": "2308:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1226,10 +2099,10 @@ "typeString": "uint256" }, "typeName": { - "id": 132, - "name": "uint", + "id": 133, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2309:4:1", + "src": "2308:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1240,11 +2113,12 @@ }, { "constant": false, - "id": 135, + "id": 136, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 142, - "src": "2322:20:1", + "overrides": null, + "scope": 143, + "src": "2324:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1252,10 +2126,10 @@ "typeString": "bytes" }, "typeName": { - "id": 134, + "id": 135, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2322:5:1", + "src": "2324:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1265,20 +2139,20 @@ "visibility": "internal" } ], - "src": "2308:35:1" + "src": "2307:37:1" }, - "payable": false, "returnParameters": { - "id": 139, + "id": 140, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 138, + "id": 139, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 142, - "src": "2367:12:1", + "overrides": null, + "scope": 143, + "src": "2392:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1286,10 +2160,10 @@ "typeString": "int8" }, "typeName": { - "id": 137, + "id": 138, "name": "int8", "nodeType": "ElementaryTypeName", - "src": "2367:4:1", + "src": "2392:4:1", "typeDescriptions": { "typeIdentifier": "t_int8", "typeString": "int8" @@ -1299,76 +2173,120 @@ "visibility": "internal" } ], - "src": "2366:14:1" + "src": "2391:14:1" }, - "scope": 836, - "src": "2288:188:1", + "scope": 837, + "src": "2287:209:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 152, + "id": 153, "nodeType": "Block", - "src": "2580:95:1", + "src": "2627:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "2646:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2660:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2681:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2689:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2677:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2677:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2671:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "2671:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "2660:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 149, - "isOffset": false, - "isSlot": false, - "src": "2622:7:1", - "valueSize": 1 - } + "declaration": 147, + "isOffset": false, + "isSlot": false, + "src": "2681:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 146, - "isOffset": false, - "isSlot": false, - "src": "2643:6:1", - "valueSize": 1 - } + "declaration": 145, + "isOffset": false, + "isSlot": false, + "src": "2689:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 144, - "isOffset": false, - "isSlot": false, - "src": "2651:6:1", - "valueSize": 1 - } + "declaration": 150, + "isOffset": false, + "isSlot": false, + "src": "2660:7:1", + "valueSize": 1 } ], - "id": 151, + "id": 152, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "2599:76:1" + "src": "2637:70:1" } ] }, "documentation": null, - "id": 153, + "id": 154, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt16", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 147, + "id": 148, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 144, + "id": 145, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "2508:11:1", + "overrides": null, + "scope": 154, + "src": "2524:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1376,10 +2294,10 @@ "typeString": "uint256" }, "typeName": { - "id": 143, - "name": "uint", + "id": 144, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2508:4:1", + "src": "2524:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1390,11 +2308,12 @@ }, { "constant": false, - "id": 146, + "id": 147, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "2521:19:1", + "overrides": null, + "scope": 154, + "src": "2540:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1402,10 +2321,10 @@ "typeString": "bytes" }, "typeName": { - "id": 145, + "id": 146, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2521:5:1", + "src": "2540:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1415,20 +2334,20 @@ "visibility": "internal" } ], - "src": "2507:34:1" + "src": "2523:37:1" }, - "payable": false, "returnParameters": { - "id": 150, + "id": 151, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 149, + "id": 150, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "2565:13:1", + "overrides": null, + "scope": 154, + "src": "2608:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1436,10 +2355,10 @@ "typeString": "int16" }, "typeName": { - "id": 148, + "id": 149, "name": "int16", "nodeType": "ElementaryTypeName", - "src": "2565:5:1", + "src": "2608:5:1", "typeDescriptions": { "typeIdentifier": "t_int16", "typeString": "int16" @@ -1449,76 +2368,120 @@ "visibility": "internal" } ], - "src": "2564:15:1" + "src": "2607:15:1" }, - "scope": 836, - "src": "2486:189:1", + "scope": 837, + "src": "2502:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 163, + "id": 164, "nodeType": "Block", - "src": "2775:95:1", + "src": "2844:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "2863:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2877:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2898:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2906:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2894:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2894:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2888:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "2888:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "2877:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 160, - "isOffset": false, - "isSlot": false, - "src": "2817:7:1", - "valueSize": 1 - } + "declaration": 158, + "isOffset": false, + "isSlot": false, + "src": "2898:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 157, - "isOffset": false, - "isSlot": false, - "src": "2838:6:1", - "valueSize": 1 - } + "declaration": 156, + "isOffset": false, + "isSlot": false, + "src": "2906:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 155, - "isOffset": false, - "isSlot": false, - "src": "2846:6:1", - "valueSize": 1 - } + "declaration": 161, + "isOffset": false, + "isSlot": false, + "src": "2877:7:1", + "valueSize": 1 } ], - "id": 162, + "id": 163, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "2794:76:1" + "src": "2854:70:1" } ] }, "documentation": null, - "id": 164, + "id": 165, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt24", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 158, + "id": 159, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 155, + "id": 156, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 164, - "src": "2703:11:1", + "overrides": null, + "scope": 165, + "src": "2741:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1526,10 +2489,10 @@ "typeString": "uint256" }, "typeName": { - "id": 154, - "name": "uint", + "id": 155, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2703:4:1", + "src": "2741:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1540,11 +2503,12 @@ }, { "constant": false, - "id": 157, + "id": 158, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 164, - "src": "2716:19:1", + "overrides": null, + "scope": 165, + "src": "2757:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1552,10 +2516,10 @@ "typeString": "bytes" }, "typeName": { - "id": 156, + "id": 157, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2716:5:1", + "src": "2757:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1565,20 +2529,20 @@ "visibility": "internal" } ], - "src": "2702:34:1" + "src": "2740:37:1" }, - "payable": false, "returnParameters": { - "id": 161, + "id": 162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 160, + "id": 161, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 164, - "src": "2760:13:1", + "overrides": null, + "scope": 165, + "src": "2825:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1586,10 +2550,10 @@ "typeString": "int24" }, "typeName": { - "id": 159, + "id": 160, "name": "int24", "nodeType": "ElementaryTypeName", - "src": "2760:5:1", + "src": "2825:5:1", "typeDescriptions": { "typeIdentifier": "t_int24", "typeString": "int24" @@ -1599,76 +2563,120 @@ "visibility": "internal" } ], - "src": "2759:15:1" + "src": "2824:15:1" }, - "scope": 836, - "src": "2681:189:1", + "scope": 837, + "src": "2719:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 174, + "id": 175, "nodeType": "Block", - "src": "2970:95:1", + "src": "3061:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "3080:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3094:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "3115:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "3123:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3111:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3111:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3105:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "3105:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "3094:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 171, - "isOffset": false, - "isSlot": false, - "src": "3012:7:1", - "valueSize": 1 - } + "declaration": 169, + "isOffset": false, + "isSlot": false, + "src": "3115:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 168, - "isOffset": false, - "isSlot": false, - "src": "3033:6:1", - "valueSize": 1 - } + "declaration": 167, + "isOffset": false, + "isSlot": false, + "src": "3123:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 166, - "isOffset": false, - "isSlot": false, - "src": "3041:6:1", - "valueSize": 1 - } + "declaration": 172, + "isOffset": false, + "isSlot": false, + "src": "3094:7:1", + "valueSize": 1 } ], - "id": 173, + "id": 174, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "2989:76:1" + "src": "3071:70:1" } ] }, "documentation": null, - "id": 175, + "id": 176, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt32", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 169, + "id": 170, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 166, + "id": 167, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 175, - "src": "2898:11:1", + "overrides": null, + "scope": 176, + "src": "2958:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1676,10 +2684,10 @@ "typeString": "uint256" }, "typeName": { - "id": 165, - "name": "uint", + "id": 166, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2898:4:1", + "src": "2958:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1690,11 +2698,12 @@ }, { "constant": false, - "id": 168, + "id": 169, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 175, - "src": "2911:19:1", + "overrides": null, + "scope": 176, + "src": "2974:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1702,10 +2711,10 @@ "typeString": "bytes" }, "typeName": { - "id": 167, + "id": 168, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2911:5:1", + "src": "2974:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1715,20 +2724,20 @@ "visibility": "internal" } ], - "src": "2897:34:1" + "src": "2957:37:1" }, - "payable": false, "returnParameters": { - "id": 172, + "id": 173, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 171, + "id": 172, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 175, - "src": "2955:13:1", + "overrides": null, + "scope": 176, + "src": "3042:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1736,10 +2745,10 @@ "typeString": "int32" }, "typeName": { - "id": 170, + "id": 171, "name": "int32", "nodeType": "ElementaryTypeName", - "src": "2955:5:1", + "src": "3042:5:1", "typeDescriptions": { "typeIdentifier": "t_int32", "typeString": "int32" @@ -1749,76 +2758,120 @@ "visibility": "internal" } ], - "src": "2954:15:1" + "src": "3041:15:1" }, - "scope": 836, - "src": "2876:189:1", + "scope": 837, + "src": "2936:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 185, + "id": 186, "nodeType": "Block", - "src": "3165:95:1", + "src": "3278:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "3297:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3311:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "3332:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "3340:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3328:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3328:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3322:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "3322:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "3311:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 182, - "isOffset": false, - "isSlot": false, - "src": "3207:7:1", - "valueSize": 1 - } + "declaration": 180, + "isOffset": false, + "isSlot": false, + "src": "3332:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 179, - "isOffset": false, - "isSlot": false, - "src": "3228:6:1", - "valueSize": 1 - } + "declaration": 178, + "isOffset": false, + "isSlot": false, + "src": "3340:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 177, - "isOffset": false, - "isSlot": false, - "src": "3236:6:1", - "valueSize": 1 - } + "declaration": 183, + "isOffset": false, + "isSlot": false, + "src": "3311:7:1", + "valueSize": 1 } ], - "id": 184, + "id": 185, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "3184:76:1" + "src": "3288:70:1" } ] }, "documentation": null, - "id": 186, + "id": 187, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt40", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 180, + "id": 181, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 177, + "id": 178, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 186, - "src": "3093:11:1", + "overrides": null, + "scope": 187, + "src": "3175:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1826,10 +2879,10 @@ "typeString": "uint256" }, "typeName": { - "id": 176, - "name": "uint", + "id": 177, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3093:4:1", + "src": "3175:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1840,11 +2893,12 @@ }, { "constant": false, - "id": 179, + "id": 180, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 186, - "src": "3106:19:1", + "overrides": null, + "scope": 187, + "src": "3191:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1852,10 +2906,10 @@ "typeString": "bytes" }, "typeName": { - "id": 178, + "id": 179, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3106:5:1", + "src": "3191:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1865,20 +2919,20 @@ "visibility": "internal" } ], - "src": "3092:34:1" + "src": "3174:37:1" }, - "payable": false, "returnParameters": { - "id": 183, + "id": 184, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 182, + "id": 183, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 186, - "src": "3150:13:1", + "overrides": null, + "scope": 187, + "src": "3259:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1886,10 +2940,10 @@ "typeString": "int40" }, "typeName": { - "id": 181, + "id": 182, "name": "int40", "nodeType": "ElementaryTypeName", - "src": "3150:5:1", + "src": "3259:5:1", "typeDescriptions": { "typeIdentifier": "t_int40", "typeString": "int40" @@ -1899,76 +2953,120 @@ "visibility": "internal" } ], - "src": "3149:15:1" + "src": "3258:15:1" }, - "scope": 836, - "src": "3071:189:1", + "scope": 837, + "src": "3153:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 196, + "id": 197, "nodeType": "Block", - "src": "3360:95:1", + "src": "3495:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "3514:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3528:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "3549:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "3557:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3545:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3545:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3539:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "3539:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "3528:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 193, - "isOffset": false, - "isSlot": false, - "src": "3402:7:1", - "valueSize": 1 - } + "declaration": 191, + "isOffset": false, + "isSlot": false, + "src": "3549:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 190, - "isOffset": false, - "isSlot": false, - "src": "3423:6:1", - "valueSize": 1 - } + "declaration": 189, + "isOffset": false, + "isSlot": false, + "src": "3557:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 188, - "isOffset": false, - "isSlot": false, - "src": "3431:6:1", - "valueSize": 1 - } + "declaration": 194, + "isOffset": false, + "isSlot": false, + "src": "3528:7:1", + "valueSize": 1 } ], - "id": 195, + "id": 196, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "3379:76:1" + "src": "3505:70:1" } ] }, "documentation": null, - "id": 197, + "id": 198, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt48", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 191, + "id": 192, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 188, + "id": 189, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 197, - "src": "3288:11:1", + "overrides": null, + "scope": 198, + "src": "3392:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1976,10 +3074,10 @@ "typeString": "uint256" }, "typeName": { - "id": 187, - "name": "uint", + "id": 188, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3288:4:1", + "src": "3392:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1990,11 +3088,12 @@ }, { "constant": false, - "id": 190, + "id": 191, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 197, - "src": "3301:19:1", + "overrides": null, + "scope": 198, + "src": "3408:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2002,10 +3101,10 @@ "typeString": "bytes" }, "typeName": { - "id": 189, + "id": 190, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3301:5:1", + "src": "3408:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2015,20 +3114,20 @@ "visibility": "internal" } ], - "src": "3287:34:1" + "src": "3391:37:1" }, - "payable": false, "returnParameters": { - "id": 194, + "id": 195, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 193, + "id": 194, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 197, - "src": "3345:13:1", + "overrides": null, + "scope": 198, + "src": "3476:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2036,10 +3135,10 @@ "typeString": "int48" }, "typeName": { - "id": 192, + "id": 193, "name": "int48", "nodeType": "ElementaryTypeName", - "src": "3345:5:1", + "src": "3476:5:1", "typeDescriptions": { "typeIdentifier": "t_int48", "typeString": "int48" @@ -2049,76 +3148,120 @@ "visibility": "internal" } ], - "src": "3344:15:1" + "src": "3475:15:1" }, - "scope": 836, - "src": "3266:189:1", + "scope": 837, + "src": "3370:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 207, + "id": 208, "nodeType": "Block", - "src": "3555:95:1", + "src": "3712:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "3731:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3745:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "3766:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "3774:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3762:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3762:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3756:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "3756:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "3745:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 204, - "isOffset": false, - "isSlot": false, - "src": "3597:7:1", - "valueSize": 1 - } + "declaration": 202, + "isOffset": false, + "isSlot": false, + "src": "3766:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 201, - "isOffset": false, - "isSlot": false, - "src": "3618:6:1", - "valueSize": 1 - } + "declaration": 200, + "isOffset": false, + "isSlot": false, + "src": "3774:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 199, - "isOffset": false, - "isSlot": false, - "src": "3626:6:1", - "valueSize": 1 - } + "declaration": 205, + "isOffset": false, + "isSlot": false, + "src": "3745:7:1", + "valueSize": 1 } ], - "id": 206, + "id": 207, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "3574:76:1" + "src": "3722:70:1" } ] }, "documentation": null, - "id": 208, + "id": 209, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt56", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 202, + "id": 203, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 199, + "id": 200, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 208, - "src": "3483:11:1", + "overrides": null, + "scope": 209, + "src": "3609:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2126,10 +3269,10 @@ "typeString": "uint256" }, "typeName": { - "id": 198, - "name": "uint", + "id": 199, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3483:4:1", + "src": "3609:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2140,11 +3283,12 @@ }, { "constant": false, - "id": 201, + "id": 202, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 208, - "src": "3496:19:1", + "overrides": null, + "scope": 209, + "src": "3625:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2152,10 +3296,10 @@ "typeString": "bytes" }, "typeName": { - "id": 200, + "id": 201, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3496:5:1", + "src": "3625:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2165,20 +3309,20 @@ "visibility": "internal" } ], - "src": "3482:34:1" + "src": "3608:37:1" }, - "payable": false, "returnParameters": { - "id": 205, + "id": 206, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 204, + "id": 205, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 208, - "src": "3540:13:1", + "overrides": null, + "scope": 209, + "src": "3693:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2186,10 +3330,10 @@ "typeString": "int56" }, "typeName": { - "id": 203, + "id": 204, "name": "int56", "nodeType": "ElementaryTypeName", - "src": "3540:5:1", + "src": "3693:5:1", "typeDescriptions": { "typeIdentifier": "t_int56", "typeString": "int56" @@ -2199,76 +3343,120 @@ "visibility": "internal" } ], - "src": "3539:15:1" + "src": "3692:15:1" }, - "scope": 836, - "src": "3461:189:1", + "scope": 837, + "src": "3587:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 218, + "id": 219, "nodeType": "Block", - "src": "3750:95:1", + "src": "3929:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "3948:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3962:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "3983:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "3991:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3979:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3979:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3973:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "3973:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "3962:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 215, - "isOffset": false, - "isSlot": false, - "src": "3792:7:1", - "valueSize": 1 - } + "declaration": 213, + "isOffset": false, + "isSlot": false, + "src": "3983:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 212, - "isOffset": false, - "isSlot": false, - "src": "3813:6:1", - "valueSize": 1 - } + "declaration": 211, + "isOffset": false, + "isSlot": false, + "src": "3991:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 210, - "isOffset": false, - "isSlot": false, - "src": "3821:6:1", - "valueSize": 1 - } + "declaration": 216, + "isOffset": false, + "isSlot": false, + "src": "3962:7:1", + "valueSize": 1 } ], - "id": 217, + "id": 218, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "3769:76:1" + "src": "3939:70:1" } ] }, "documentation": null, - "id": 219, + "id": 220, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt64", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 213, + "id": 214, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 210, + "id": 211, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "3678:11:1", + "overrides": null, + "scope": 220, + "src": "3826:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2276,10 +3464,10 @@ "typeString": "uint256" }, "typeName": { - "id": 209, - "name": "uint", + "id": 210, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3678:4:1", + "src": "3826:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2290,11 +3478,12 @@ }, { "constant": false, - "id": 212, + "id": 213, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "3691:19:1", + "overrides": null, + "scope": 220, + "src": "3842:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2302,10 +3491,10 @@ "typeString": "bytes" }, "typeName": { - "id": 211, + "id": 212, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3691:5:1", + "src": "3842:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2315,20 +3504,20 @@ "visibility": "internal" } ], - "src": "3677:34:1" + "src": "3825:37:1" }, - "payable": false, "returnParameters": { - "id": 216, + "id": 217, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 215, + "id": 216, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "3735:13:1", + "overrides": null, + "scope": 220, + "src": "3910:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2336,10 +3525,10 @@ "typeString": "int64" }, "typeName": { - "id": 214, + "id": 215, "name": "int64", "nodeType": "ElementaryTypeName", - "src": "3735:5:1", + "src": "3910:5:1", "typeDescriptions": { "typeIdentifier": "t_int64", "typeString": "int64" @@ -2349,76 +3538,120 @@ "visibility": "internal" } ], - "src": "3734:15:1" + "src": "3909:15:1" }, - "scope": 836, - "src": "3656:189:1", + "scope": 837, + "src": "3804:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 229, + "id": 230, "nodeType": "Block", - "src": "3945:95:1", + "src": "4146:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "4165:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4179:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "4200:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "4208:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4196:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "4196:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4190:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "4190:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "4179:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 226, - "isOffset": false, - "isSlot": false, - "src": "3987:7:1", - "valueSize": 1 - } + "declaration": 224, + "isOffset": false, + "isSlot": false, + "src": "4200:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 223, - "isOffset": false, - "isSlot": false, - "src": "4008:6:1", - "valueSize": 1 - } + "declaration": 222, + "isOffset": false, + "isSlot": false, + "src": "4208:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 221, - "isOffset": false, - "isSlot": false, - "src": "4016:6:1", - "valueSize": 1 - } + "declaration": 227, + "isOffset": false, + "isSlot": false, + "src": "4179:7:1", + "valueSize": 1 } ], - "id": 228, + "id": 229, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "3964:76:1" + "src": "4156:70:1" } ] }, "documentation": null, - "id": 230, + "id": 231, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt72", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 224, + "id": 225, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 221, + "id": 222, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 230, - "src": "3873:11:1", + "overrides": null, + "scope": 231, + "src": "4043:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2426,10 +3659,10 @@ "typeString": "uint256" }, "typeName": { - "id": 220, - "name": "uint", + "id": 221, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3873:4:1", + "src": "4043:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2440,11 +3673,12 @@ }, { "constant": false, - "id": 223, + "id": 224, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 230, - "src": "3886:19:1", + "overrides": null, + "scope": 231, + "src": "4059:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2452,10 +3686,10 @@ "typeString": "bytes" }, "typeName": { - "id": 222, + "id": 223, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3886:5:1", + "src": "4059:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2465,20 +3699,20 @@ "visibility": "internal" } ], - "src": "3872:34:1" + "src": "4042:37:1" }, - "payable": false, "returnParameters": { - "id": 227, + "id": 228, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 226, + "id": 227, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 230, - "src": "3930:13:1", + "overrides": null, + "scope": 231, + "src": "4127:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2486,10 +3720,10 @@ "typeString": "int72" }, "typeName": { - "id": 225, + "id": 226, "name": "int72", "nodeType": "ElementaryTypeName", - "src": "3930:5:1", + "src": "4127:5:1", "typeDescriptions": { "typeIdentifier": "t_int72", "typeString": "int72" @@ -2499,76 +3733,120 @@ "visibility": "internal" } ], - "src": "3929:15:1" + "src": "4126:15:1" }, - "scope": 836, - "src": "3851:189:1", + "scope": 837, + "src": "4021:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 240, + "id": 241, "nodeType": "Block", - "src": "4140:95:1", + "src": "4363:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "4382:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4396:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "4417:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "4425:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4413:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "4413:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4407:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "4407:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "4396:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 237, - "isOffset": false, - "isSlot": false, - "src": "4182:7:1", - "valueSize": 1 - } + "declaration": 235, + "isOffset": false, + "isSlot": false, + "src": "4417:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "4203:6:1", - "valueSize": 1 - } + "declaration": 233, + "isOffset": false, + "isSlot": false, + "src": "4425:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 232, - "isOffset": false, - "isSlot": false, - "src": "4211:6:1", - "valueSize": 1 - } + "declaration": 238, + "isOffset": false, + "isSlot": false, + "src": "4396:7:1", + "valueSize": 1 } ], - "id": 239, + "id": 240, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "4159:76:1" + "src": "4373:70:1" } ] }, "documentation": null, - "id": 241, + "id": 242, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt80", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 235, + "id": 236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 232, + "id": 233, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 241, - "src": "4068:11:1", + "overrides": null, + "scope": 242, + "src": "4260:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2576,10 +3854,10 @@ "typeString": "uint256" }, "typeName": { - "id": 231, - "name": "uint", + "id": 232, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4068:4:1", + "src": "4260:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2590,11 +3868,12 @@ }, { "constant": false, - "id": 234, + "id": 235, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 241, - "src": "4081:19:1", + "overrides": null, + "scope": 242, + "src": "4276:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2602,10 +3881,10 @@ "typeString": "bytes" }, "typeName": { - "id": 233, + "id": 234, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4081:5:1", + "src": "4276:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2615,20 +3894,20 @@ "visibility": "internal" } ], - "src": "4067:34:1" + "src": "4259:37:1" }, - "payable": false, "returnParameters": { - "id": 238, + "id": 239, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 237, + "id": 238, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 241, - "src": "4125:13:1", + "overrides": null, + "scope": 242, + "src": "4344:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2636,10 +3915,10 @@ "typeString": "int80" }, "typeName": { - "id": 236, + "id": 237, "name": "int80", "nodeType": "ElementaryTypeName", - "src": "4125:5:1", + "src": "4344:5:1", "typeDescriptions": { "typeIdentifier": "t_int80", "typeString": "int80" @@ -2649,76 +3928,120 @@ "visibility": "internal" } ], - "src": "4124:15:1" + "src": "4343:15:1" }, - "scope": 836, - "src": "4046:189:1", + "scope": 837, + "src": "4238:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 251, + "id": 252, "nodeType": "Block", - "src": "4335:95:1", + "src": "4580:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "4599:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4613:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "4634:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "4642:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4630:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "4630:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4624:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "4624:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "4613:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 248, - "isOffset": false, - "isSlot": false, - "src": "4377:7:1", - "valueSize": 1 - } + "declaration": 246, + "isOffset": false, + "isSlot": false, + "src": "4634:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 245, - "isOffset": false, - "isSlot": false, - "src": "4398:6:1", - "valueSize": 1 - } + "declaration": 244, + "isOffset": false, + "isSlot": false, + "src": "4642:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 243, - "isOffset": false, - "isSlot": false, - "src": "4406:6:1", - "valueSize": 1 - } + "declaration": 249, + "isOffset": false, + "isSlot": false, + "src": "4613:7:1", + "valueSize": 1 } ], - "id": 250, + "id": 251, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "4354:76:1" + "src": "4590:70:1" } ] }, "documentation": null, - "id": 252, + "id": 253, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt88", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 246, + "id": 247, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 243, + "id": 244, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "4263:11:1", + "overrides": null, + "scope": 253, + "src": "4477:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2726,10 +4049,10 @@ "typeString": "uint256" }, "typeName": { - "id": 242, - "name": "uint", + "id": 243, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4263:4:1", + "src": "4477:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2740,11 +4063,12 @@ }, { "constant": false, - "id": 245, + "id": 246, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "4276:19:1", + "overrides": null, + "scope": 253, + "src": "4493:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2752,10 +4076,10 @@ "typeString": "bytes" }, "typeName": { - "id": 244, + "id": 245, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4276:5:1", + "src": "4493:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2765,20 +4089,20 @@ "visibility": "internal" } ], - "src": "4262:34:1" + "src": "4476:37:1" }, - "payable": false, "returnParameters": { - "id": 249, + "id": 250, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 248, + "id": 249, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "4320:13:1", + "overrides": null, + "scope": 253, + "src": "4561:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2786,10 +4110,10 @@ "typeString": "int88" }, "typeName": { - "id": 247, + "id": 248, "name": "int88", "nodeType": "ElementaryTypeName", - "src": "4320:5:1", + "src": "4561:5:1", "typeDescriptions": { "typeIdentifier": "t_int88", "typeString": "int88" @@ -2799,76 +4123,120 @@ "visibility": "internal" } ], - "src": "4319:15:1" + "src": "4560:15:1" }, - "scope": 836, - "src": "4241:189:1", + "scope": 837, + "src": "4455:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 262, + "id": 263, "nodeType": "Block", - "src": "4530:95:1", + "src": "4797:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "4816:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4830:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "4851:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "4859:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4847:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "4847:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4841:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "4841:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "4830:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 259, - "isOffset": false, - "isSlot": false, - "src": "4572:7:1", - "valueSize": 1 - } + "declaration": 257, + "isOffset": false, + "isSlot": false, + "src": "4851:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 256, - "isOffset": false, - "isSlot": false, - "src": "4593:6:1", - "valueSize": 1 - } + "declaration": 255, + "isOffset": false, + "isSlot": false, + "src": "4859:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 254, - "isOffset": false, - "isSlot": false, - "src": "4601:6:1", - "valueSize": 1 - } + "declaration": 260, + "isOffset": false, + "isSlot": false, + "src": "4830:7:1", + "valueSize": 1 } ], - "id": 261, + "id": 262, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "4549:76:1" + "src": "4807:70:1" } ] }, "documentation": null, - "id": 263, + "id": 264, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt96", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 257, + "id": 258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 254, + "id": 255, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 263, - "src": "4458:11:1", + "overrides": null, + "scope": 264, + "src": "4694:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2876,10 +4244,10 @@ "typeString": "uint256" }, "typeName": { - "id": 253, - "name": "uint", + "id": 254, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4458:4:1", + "src": "4694:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2890,11 +4258,12 @@ }, { "constant": false, - "id": 256, + "id": 257, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 263, - "src": "4471:19:1", + "overrides": null, + "scope": 264, + "src": "4710:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2902,10 +4271,10 @@ "typeString": "bytes" }, "typeName": { - "id": 255, + "id": 256, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4471:5:1", + "src": "4710:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2915,20 +4284,20 @@ "visibility": "internal" } ], - "src": "4457:34:1" + "src": "4693:37:1" }, - "payable": false, "returnParameters": { - "id": 260, + "id": 261, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 259, + "id": 260, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 263, - "src": "4515:13:1", + "overrides": null, + "scope": 264, + "src": "4778:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2936,10 +4305,10 @@ "typeString": "int96" }, "typeName": { - "id": 258, + "id": 259, "name": "int96", "nodeType": "ElementaryTypeName", - "src": "4515:5:1", + "src": "4778:5:1", "typeDescriptions": { "typeIdentifier": "t_int96", "typeString": "int96" @@ -2949,76 +4318,120 @@ "visibility": "internal" } ], - "src": "4514:15:1" + "src": "4777:15:1" }, - "scope": 836, - "src": "4436:189:1", + "scope": 837, + "src": "4672:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 273, + "id": 274, "nodeType": "Block", - "src": "4725:95:1", + "src": "5016:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "5035:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5049:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "5070:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "5078:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5066:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5066:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5060:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "5060:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "5049:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 270, - "isOffset": false, - "isSlot": false, - "src": "4767:7:1", - "valueSize": 1 - } + "declaration": 268, + "isOffset": false, + "isSlot": false, + "src": "5070:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 267, - "isOffset": false, - "isSlot": false, - "src": "4788:6:1", - "valueSize": 1 - } + "declaration": 266, + "isOffset": false, + "isSlot": false, + "src": "5078:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 265, - "isOffset": false, - "isSlot": false, - "src": "4796:6:1", - "valueSize": 1 - } + "declaration": 271, + "isOffset": false, + "isSlot": false, + "src": "5049:7:1", + "valueSize": 1 } ], - "id": 272, + "id": 273, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "4744:76:1" + "src": "5026:70:1" } ] }, "documentation": null, - "id": 274, + "id": 275, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt104", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 268, + "id": 269, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 265, + "id": 266, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 274, - "src": "4652:11:1", + "overrides": null, + "scope": 275, + "src": "4912:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3026,10 +4439,10 @@ "typeString": "uint256" }, "typeName": { - "id": 264, - "name": "uint", + "id": 265, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4652:4:1", + "src": "4912:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3040,11 +4453,12 @@ }, { "constant": false, - "id": 267, + "id": 268, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 274, - "src": "4665:19:1", + "overrides": null, + "scope": 275, + "src": "4928:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3052,10 +4466,10 @@ "typeString": "bytes" }, "typeName": { - "id": 266, + "id": 267, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4665:5:1", + "src": "4928:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3065,20 +4479,20 @@ "visibility": "internal" } ], - "src": "4651:34:1" + "src": "4911:37:1" }, - "payable": false, "returnParameters": { - "id": 271, + "id": 272, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 270, + "id": 271, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 274, - "src": "4709:14:1", + "overrides": null, + "scope": 275, + "src": "4996:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3086,10 +4500,10 @@ "typeString": "int104" }, "typeName": { - "id": 269, + "id": 270, "name": "int104", "nodeType": "ElementaryTypeName", - "src": "4709:6:1", + "src": "4996:6:1", "typeDescriptions": { "typeIdentifier": "t_int104", "typeString": "int104" @@ -3099,76 +4513,120 @@ "visibility": "internal" } ], - "src": "4708:16:1" + "src": "4995:16:1" }, - "scope": 836, - "src": "4629:191:1", + "scope": 837, + "src": "4889:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 284, + "id": 285, "nodeType": "Block", - "src": "4926:95:1", + "src": "5235:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "5254:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5268:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "5289:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "5297:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5285:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5285:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5279:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "5279:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "5268:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 281, - "isOffset": false, - "isSlot": false, - "src": "4968:7:1", - "valueSize": 1 - } + "declaration": 279, + "isOffset": false, + "isSlot": false, + "src": "5289:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 278, - "isOffset": false, - "isSlot": false, - "src": "4989:6:1", - "valueSize": 1 - } + "declaration": 277, + "isOffset": false, + "isSlot": false, + "src": "5297:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 276, - "isOffset": false, - "isSlot": false, - "src": "4997:6:1", - "valueSize": 1 - } + "declaration": 282, + "isOffset": false, + "isSlot": false, + "src": "5268:7:1", + "valueSize": 1 } ], - "id": 283, + "id": 284, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "4945:76:1" + "src": "5245:70:1" } ] }, "documentation": null, - "id": 285, + "id": 286, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt112", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 279, + "id": 280, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 276, + "id": 277, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 285, - "src": "4853:11:1", + "overrides": null, + "scope": 286, + "src": "5131:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3176,10 +4634,10 @@ "typeString": "uint256" }, "typeName": { - "id": 275, - "name": "uint", + "id": 276, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4853:4:1", + "src": "5131:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3190,11 +4648,12 @@ }, { "constant": false, - "id": 278, + "id": 279, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 285, - "src": "4866:19:1", + "overrides": null, + "scope": 286, + "src": "5147:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3202,10 +4661,10 @@ "typeString": "bytes" }, "typeName": { - "id": 277, + "id": 278, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4866:5:1", + "src": "5147:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3215,20 +4674,20 @@ "visibility": "internal" } ], - "src": "4852:34:1" + "src": "5130:37:1" }, - "payable": false, "returnParameters": { - "id": 282, + "id": 283, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 281, + "id": 282, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 285, - "src": "4910:14:1", + "overrides": null, + "scope": 286, + "src": "5215:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3236,10 +4695,10 @@ "typeString": "int112" }, "typeName": { - "id": 280, + "id": 281, "name": "int112", "nodeType": "ElementaryTypeName", - "src": "4910:6:1", + "src": "5215:6:1", "typeDescriptions": { "typeIdentifier": "t_int112", "typeString": "int112" @@ -3249,76 +4708,120 @@ "visibility": "internal" } ], - "src": "4909:16:1" + "src": "5214:16:1" }, - "scope": 836, - "src": "4830:191:1", + "scope": 837, + "src": "5108:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 295, + "id": 296, "nodeType": "Block", - "src": "5123:95:1", + "src": "5454:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "5473:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5487:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "5508:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "5516:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5504:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5504:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5498:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "5498:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "5487:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 292, - "isOffset": false, - "isSlot": false, - "src": "5165:7:1", - "valueSize": 1 - } + "declaration": 290, + "isOffset": false, + "isSlot": false, + "src": "5508:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 289, - "isOffset": false, - "isSlot": false, - "src": "5186:6:1", - "valueSize": 1 - } + "declaration": 288, + "isOffset": false, + "isSlot": false, + "src": "5516:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 287, - "isOffset": false, - "isSlot": false, - "src": "5194:6:1", - "valueSize": 1 - } + "declaration": 293, + "isOffset": false, + "isSlot": false, + "src": "5487:7:1", + "valueSize": 1 } ], - "id": 294, + "id": 295, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "5142:76:1" + "src": "5464:70:1" } ] }, "documentation": null, - "id": 296, + "id": 297, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt120", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 290, + "id": 291, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 287, + "id": 288, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 296, - "src": "5050:11:1", + "overrides": null, + "scope": 297, + "src": "5350:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3326,10 +4829,10 @@ "typeString": "uint256" }, "typeName": { - "id": 286, - "name": "uint", + "id": 287, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5050:4:1", + "src": "5350:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3340,11 +4843,12 @@ }, { "constant": false, - "id": 289, + "id": 290, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 296, - "src": "5063:19:1", + "overrides": null, + "scope": 297, + "src": "5366:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3352,10 +4856,10 @@ "typeString": "bytes" }, "typeName": { - "id": 288, + "id": 289, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5063:5:1", + "src": "5366:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3365,20 +4869,20 @@ "visibility": "internal" } ], - "src": "5049:34:1" + "src": "5349:37:1" }, - "payable": false, "returnParameters": { - "id": 293, + "id": 294, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 292, + "id": 293, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 296, - "src": "5107:14:1", + "overrides": null, + "scope": 297, + "src": "5434:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3386,10 +4890,10 @@ "typeString": "int120" }, "typeName": { - "id": 291, + "id": 292, "name": "int120", "nodeType": "ElementaryTypeName", - "src": "5107:6:1", + "src": "5434:6:1", "typeDescriptions": { "typeIdentifier": "t_int120", "typeString": "int120" @@ -3399,76 +4903,120 @@ "visibility": "internal" } ], - "src": "5106:16:1" + "src": "5433:16:1" }, - "scope": 836, - "src": "5027:191:1", + "scope": 837, + "src": "5327:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 306, + "id": 307, "nodeType": "Block", - "src": "5320:95:1", + "src": "5673:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "5692:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5706:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "5727:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "5735:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5723:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5723:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5717:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "5717:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "5706:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 303, - "isOffset": false, - "isSlot": false, - "src": "5362:7:1", - "valueSize": 1 - } + "declaration": 301, + "isOffset": false, + "isSlot": false, + "src": "5727:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 300, - "isOffset": false, - "isSlot": false, - "src": "5383:6:1", - "valueSize": 1 - } + "declaration": 299, + "isOffset": false, + "isSlot": false, + "src": "5735:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 298, - "isOffset": false, - "isSlot": false, - "src": "5391:6:1", - "valueSize": 1 - } + "declaration": 304, + "isOffset": false, + "isSlot": false, + "src": "5706:7:1", + "valueSize": 1 } ], - "id": 305, + "id": 306, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "5339:76:1" + "src": "5683:70:1" } ] }, "documentation": null, - "id": 307, + "id": 308, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt128", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 301, + "id": 302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 298, + "id": 299, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 307, - "src": "5247:11:1", + "overrides": null, + "scope": 308, + "src": "5569:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3476,10 +5024,10 @@ "typeString": "uint256" }, "typeName": { - "id": 297, - "name": "uint", + "id": 298, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5247:4:1", + "src": "5569:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3490,11 +5038,12 @@ }, { "constant": false, - "id": 300, + "id": 301, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 307, - "src": "5260:19:1", + "overrides": null, + "scope": 308, + "src": "5585:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3502,10 +5051,10 @@ "typeString": "bytes" }, "typeName": { - "id": 299, + "id": 300, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5260:5:1", + "src": "5585:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3515,20 +5064,20 @@ "visibility": "internal" } ], - "src": "5246:34:1" + "src": "5568:37:1" }, - "payable": false, "returnParameters": { - "id": 304, + "id": 305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 303, + "id": 304, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 307, - "src": "5304:14:1", + "overrides": null, + "scope": 308, + "src": "5653:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3536,10 +5085,10 @@ "typeString": "int128" }, "typeName": { - "id": 302, + "id": 303, "name": "int128", "nodeType": "ElementaryTypeName", - "src": "5304:6:1", + "src": "5653:6:1", "typeDescriptions": { "typeIdentifier": "t_int128", "typeString": "int128" @@ -3549,76 +5098,120 @@ "visibility": "internal" } ], - "src": "5303:16:1" + "src": "5652:16:1" }, - "scope": 836, - "src": "5224:191:1", + "scope": 837, + "src": "5546:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 317, + "id": 318, "nodeType": "Block", - "src": "5517:95:1", + "src": "5892:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "5911:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5925:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "5946:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "5954:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5942:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5942:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5936:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "5936:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "5925:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 314, - "isOffset": false, - "isSlot": false, - "src": "5559:7:1", - "valueSize": 1 - } + "declaration": 312, + "isOffset": false, + "isSlot": false, + "src": "5946:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 311, - "isOffset": false, - "isSlot": false, - "src": "5580:6:1", - "valueSize": 1 - } + "declaration": 310, + "isOffset": false, + "isSlot": false, + "src": "5954:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 309, - "isOffset": false, - "isSlot": false, - "src": "5588:6:1", - "valueSize": 1 - } + "declaration": 315, + "isOffset": false, + "isSlot": false, + "src": "5925:7:1", + "valueSize": 1 } ], - "id": 316, + "id": 317, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "5536:76:1" + "src": "5902:70:1" } ] }, "documentation": null, - "id": 318, + "id": 319, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt136", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 312, + "id": 313, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 309, + "id": 310, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 318, - "src": "5444:11:1", + "overrides": null, + "scope": 319, + "src": "5788:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3626,10 +5219,10 @@ "typeString": "uint256" }, "typeName": { - "id": 308, - "name": "uint", + "id": 309, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5444:4:1", + "src": "5788:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3640,11 +5233,12 @@ }, { "constant": false, - "id": 311, + "id": 312, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 318, - "src": "5457:19:1", + "overrides": null, + "scope": 319, + "src": "5804:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3652,10 +5246,10 @@ "typeString": "bytes" }, "typeName": { - "id": 310, + "id": 311, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5457:5:1", + "src": "5804:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3665,20 +5259,20 @@ "visibility": "internal" } ], - "src": "5443:34:1" + "src": "5787:37:1" }, - "payable": false, "returnParameters": { - "id": 315, + "id": 316, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 314, + "id": 315, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 318, - "src": "5501:14:1", + "overrides": null, + "scope": 319, + "src": "5872:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3686,10 +5280,10 @@ "typeString": "int136" }, "typeName": { - "id": 313, + "id": 314, "name": "int136", "nodeType": "ElementaryTypeName", - "src": "5501:6:1", + "src": "5872:6:1", "typeDescriptions": { "typeIdentifier": "t_int136", "typeString": "int136" @@ -3699,76 +5293,120 @@ "visibility": "internal" } ], - "src": "5500:16:1" + "src": "5871:16:1" }, - "scope": 836, - "src": "5421:191:1", + "scope": 837, + "src": "5765:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 328, + "id": 329, "nodeType": "Block", - "src": "5714:95:1", + "src": "6111:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "6130:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6144:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "6165:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "6173:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6161:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "6161:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6155:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "6155:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "6144:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 325, - "isOffset": false, - "isSlot": false, - "src": "5756:7:1", - "valueSize": 1 - } + "declaration": 323, + "isOffset": false, + "isSlot": false, + "src": "6165:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 322, - "isOffset": false, - "isSlot": false, - "src": "5777:6:1", - "valueSize": 1 - } + "declaration": 321, + "isOffset": false, + "isSlot": false, + "src": "6173:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 320, - "isOffset": false, - "isSlot": false, - "src": "5785:6:1", - "valueSize": 1 - } + "declaration": 326, + "isOffset": false, + "isSlot": false, + "src": "6144:7:1", + "valueSize": 1 } ], - "id": 327, + "id": 328, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "5733:76:1" + "src": "6121:70:1" } ] }, "documentation": null, - "id": 329, + "id": 330, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt144", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 323, + "id": 324, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 320, + "id": 321, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "5641:11:1", + "overrides": null, + "scope": 330, + "src": "6007:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3776,10 +5414,10 @@ "typeString": "uint256" }, "typeName": { - "id": 319, - "name": "uint", + "id": 320, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5641:4:1", + "src": "6007:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3790,11 +5428,12 @@ }, { "constant": false, - "id": 322, + "id": 323, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "5654:19:1", + "overrides": null, + "scope": 330, + "src": "6023:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3802,10 +5441,10 @@ "typeString": "bytes" }, "typeName": { - "id": 321, + "id": 322, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5654:5:1", + "src": "6023:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3815,20 +5454,20 @@ "visibility": "internal" } ], - "src": "5640:34:1" + "src": "6006:37:1" }, - "payable": false, "returnParameters": { - "id": 326, + "id": 327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 325, + "id": 326, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "5698:14:1", + "overrides": null, + "scope": 330, + "src": "6091:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3836,10 +5475,10 @@ "typeString": "int144" }, "typeName": { - "id": 324, + "id": 325, "name": "int144", "nodeType": "ElementaryTypeName", - "src": "5698:6:1", + "src": "6091:6:1", "typeDescriptions": { "typeIdentifier": "t_int144", "typeString": "int144" @@ -3849,76 +5488,120 @@ "visibility": "internal" } ], - "src": "5697:16:1" + "src": "6090:16:1" }, - "scope": 836, - "src": "5618:191:1", + "scope": 837, + "src": "5984:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 339, + "id": 340, "nodeType": "Block", - "src": "5911:95:1", + "src": "6330:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "6349:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6363:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "6384:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "6392:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6380:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "6380:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6374:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "6374:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "6363:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 336, - "isOffset": false, - "isSlot": false, - "src": "5953:7:1", - "valueSize": 1 - } + "declaration": 334, + "isOffset": false, + "isSlot": false, + "src": "6384:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 333, - "isOffset": false, - "isSlot": false, - "src": "5974:6:1", - "valueSize": 1 - } + "declaration": 332, + "isOffset": false, + "isSlot": false, + "src": "6392:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 331, - "isOffset": false, - "isSlot": false, - "src": "5982:6:1", - "valueSize": 1 - } + "declaration": 337, + "isOffset": false, + "isSlot": false, + "src": "6363:7:1", + "valueSize": 1 } ], - "id": 338, + "id": 339, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "5930:76:1" + "src": "6340:70:1" } ] }, "documentation": null, - "id": 340, + "id": 341, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt152", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 334, + "id": 335, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 331, + "id": 332, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "5838:11:1", + "overrides": null, + "scope": 341, + "src": "6226:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3926,10 +5609,10 @@ "typeString": "uint256" }, "typeName": { - "id": 330, - "name": "uint", + "id": 331, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5838:4:1", + "src": "6226:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3940,11 +5623,12 @@ }, { "constant": false, - "id": 333, + "id": 334, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "5851:19:1", + "overrides": null, + "scope": 341, + "src": "6242:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3952,10 +5636,10 @@ "typeString": "bytes" }, "typeName": { - "id": 332, + "id": 333, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5851:5:1", + "src": "6242:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3965,20 +5649,20 @@ "visibility": "internal" } ], - "src": "5837:34:1" + "src": "6225:37:1" }, - "payable": false, "returnParameters": { - "id": 337, + "id": 338, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 336, + "id": 337, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "5895:14:1", + "overrides": null, + "scope": 341, + "src": "6310:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3986,10 +5670,10 @@ "typeString": "int152" }, "typeName": { - "id": 335, + "id": 336, "name": "int152", "nodeType": "ElementaryTypeName", - "src": "5895:6:1", + "src": "6310:6:1", "typeDescriptions": { "typeIdentifier": "t_int152", "typeString": "int152" @@ -3999,76 +5683,120 @@ "visibility": "internal" } ], - "src": "5894:16:1" + "src": "6309:16:1" }, - "scope": 836, - "src": "5815:191:1", + "scope": 837, + "src": "6203:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 350, + "id": 351, "nodeType": "Block", - "src": "6108:95:1", + "src": "6549:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "6568:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6582:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "6603:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "6611:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6599:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "6599:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6593:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "6593:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "6582:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 347, - "isOffset": false, - "isSlot": false, - "src": "6150:7:1", - "valueSize": 1 - } + "declaration": 345, + "isOffset": false, + "isSlot": false, + "src": "6603:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 344, - "isOffset": false, - "isSlot": false, - "src": "6171:6:1", - "valueSize": 1 - } + "declaration": 343, + "isOffset": false, + "isSlot": false, + "src": "6611:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 342, - "isOffset": false, - "isSlot": false, - "src": "6179:6:1", - "valueSize": 1 - } + "declaration": 348, + "isOffset": false, + "isSlot": false, + "src": "6582:7:1", + "valueSize": 1 } ], - "id": 349, + "id": 350, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "6127:76:1" + "src": "6559:70:1" } ] }, "documentation": null, - "id": 351, + "id": 352, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt160", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 345, + "id": 346, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 342, + "id": 343, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 351, - "src": "6035:11:1", + "overrides": null, + "scope": 352, + "src": "6445:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4076,10 +5804,10 @@ "typeString": "uint256" }, "typeName": { - "id": 341, - "name": "uint", + "id": 342, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6035:4:1", + "src": "6445:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4090,11 +5818,12 @@ }, { "constant": false, - "id": 344, + "id": 345, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 351, - "src": "6048:19:1", + "overrides": null, + "scope": 352, + "src": "6461:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4102,10 +5831,10 @@ "typeString": "bytes" }, "typeName": { - "id": 343, + "id": 344, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6048:5:1", + "src": "6461:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4115,20 +5844,20 @@ "visibility": "internal" } ], - "src": "6034:34:1" + "src": "6444:37:1" }, - "payable": false, "returnParameters": { - "id": 348, + "id": 349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 347, + "id": 348, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 351, - "src": "6092:14:1", + "overrides": null, + "scope": 352, + "src": "6529:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4136,10 +5865,10 @@ "typeString": "int160" }, "typeName": { - "id": 346, + "id": 347, "name": "int160", "nodeType": "ElementaryTypeName", - "src": "6092:6:1", + "src": "6529:6:1", "typeDescriptions": { "typeIdentifier": "t_int160", "typeString": "int160" @@ -4149,76 +5878,120 @@ "visibility": "internal" } ], - "src": "6091:16:1" + "src": "6528:16:1" }, - "scope": 836, - "src": "6012:191:1", + "scope": 837, + "src": "6422:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 361, + "id": 362, "nodeType": "Block", - "src": "6305:95:1", + "src": "6768:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "6787:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6801:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "6822:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "6830:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6818:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "6818:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6812:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "6812:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "6801:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 358, - "isOffset": false, - "isSlot": false, - "src": "6347:7:1", - "valueSize": 1 - } + "declaration": 356, + "isOffset": false, + "isSlot": false, + "src": "6822:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 355, - "isOffset": false, - "isSlot": false, - "src": "6368:6:1", - "valueSize": 1 - } + "declaration": 354, + "isOffset": false, + "isSlot": false, + "src": "6830:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 353, - "isOffset": false, - "isSlot": false, - "src": "6376:6:1", - "valueSize": 1 - } + "declaration": 359, + "isOffset": false, + "isSlot": false, + "src": "6801:7:1", + "valueSize": 1 } ], - "id": 360, + "id": 361, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "6324:76:1" + "src": "6778:70:1" } ] }, "documentation": null, - "id": 362, + "id": 363, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt168", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 356, + "id": 357, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 353, + "id": 354, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 362, - "src": "6232:11:1", + "overrides": null, + "scope": 363, + "src": "6664:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4226,10 +5999,10 @@ "typeString": "uint256" }, "typeName": { - "id": 352, - "name": "uint", + "id": 353, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6232:4:1", + "src": "6664:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4240,11 +6013,12 @@ }, { "constant": false, - "id": 355, + "id": 356, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 362, - "src": "6245:19:1", + "overrides": null, + "scope": 363, + "src": "6680:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4252,10 +6026,10 @@ "typeString": "bytes" }, "typeName": { - "id": 354, + "id": 355, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6245:5:1", + "src": "6680:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4265,20 +6039,20 @@ "visibility": "internal" } ], - "src": "6231:34:1" + "src": "6663:37:1" }, - "payable": false, "returnParameters": { - "id": 359, + "id": 360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 358, + "id": 359, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 362, - "src": "6289:14:1", + "overrides": null, + "scope": 363, + "src": "6748:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4286,10 +6060,10 @@ "typeString": "int168" }, "typeName": { - "id": 357, + "id": 358, "name": "int168", "nodeType": "ElementaryTypeName", - "src": "6289:6:1", + "src": "6748:6:1", "typeDescriptions": { "typeIdentifier": "t_int168", "typeString": "int168" @@ -4299,76 +6073,120 @@ "visibility": "internal" } ], - "src": "6288:16:1" + "src": "6747:16:1" }, - "scope": 836, - "src": "6209:191:1", + "scope": 837, + "src": "6641:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 372, + "id": 373, "nodeType": "Block", - "src": "6502:95:1", + "src": "6987:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "7006:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7020:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "7041:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "7049:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7037:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7037:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7031:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "7031:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "7020:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 369, - "isOffset": false, - "isSlot": false, - "src": "6544:7:1", - "valueSize": 1 - } + "declaration": 367, + "isOffset": false, + "isSlot": false, + "src": "7041:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 366, - "isOffset": false, - "isSlot": false, - "src": "6565:6:1", - "valueSize": 1 - } + "declaration": 365, + "isOffset": false, + "isSlot": false, + "src": "7049:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 364, - "isOffset": false, - "isSlot": false, - "src": "6573:6:1", - "valueSize": 1 - } + "declaration": 370, + "isOffset": false, + "isSlot": false, + "src": "7020:7:1", + "valueSize": 1 } ], - "id": 371, + "id": 372, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "6521:76:1" + "src": "6997:70:1" } ] }, "documentation": null, - "id": 373, + "id": 374, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt176", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 367, + "id": 368, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 364, + "id": 365, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "6429:11:1", + "overrides": null, + "scope": 374, + "src": "6883:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4376,10 +6194,10 @@ "typeString": "uint256" }, "typeName": { - "id": 363, - "name": "uint", + "id": 364, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6429:4:1", + "src": "6883:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4390,11 +6208,12 @@ }, { "constant": false, - "id": 366, + "id": 367, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "6442:19:1", + "overrides": null, + "scope": 374, + "src": "6899:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4402,10 +6221,10 @@ "typeString": "bytes" }, "typeName": { - "id": 365, + "id": 366, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6442:5:1", + "src": "6899:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4415,20 +6234,20 @@ "visibility": "internal" } ], - "src": "6428:34:1" + "src": "6882:37:1" }, - "payable": false, "returnParameters": { - "id": 370, + "id": 371, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 369, + "id": 370, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "6486:14:1", + "overrides": null, + "scope": 374, + "src": "6967:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4436,10 +6255,10 @@ "typeString": "int176" }, "typeName": { - "id": 368, + "id": 369, "name": "int176", "nodeType": "ElementaryTypeName", - "src": "6486:6:1", + "src": "6967:6:1", "typeDescriptions": { "typeIdentifier": "t_int176", "typeString": "int176" @@ -4449,76 +6268,120 @@ "visibility": "internal" } ], - "src": "6485:16:1" + "src": "6966:16:1" }, - "scope": 836, - "src": "6406:191:1", + "scope": 837, + "src": "6860:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 383, + "id": 384, "nodeType": "Block", - "src": "6699:95:1", + "src": "7206:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "7225:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7239:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "7260:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "7268:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7256:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7256:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7250:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "7250:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "7239:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 380, - "isOffset": false, - "isSlot": false, - "src": "6741:7:1", - "valueSize": 1 - } + "declaration": 378, + "isOffset": false, + "isSlot": false, + "src": "7260:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 377, - "isOffset": false, - "isSlot": false, - "src": "6762:6:1", - "valueSize": 1 - } + "declaration": 376, + "isOffset": false, + "isSlot": false, + "src": "7268:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 375, - "isOffset": false, - "isSlot": false, - "src": "6770:6:1", - "valueSize": 1 - } + "declaration": 381, + "isOffset": false, + "isSlot": false, + "src": "7239:7:1", + "valueSize": 1 } ], - "id": 382, + "id": 383, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "6718:76:1" + "src": "7216:70:1" } ] }, "documentation": null, - "id": 384, + "id": 385, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt184", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 378, + "id": 379, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 375, + "id": 376, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 384, - "src": "6626:11:1", + "overrides": null, + "scope": 385, + "src": "7102:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4526,10 +6389,10 @@ "typeString": "uint256" }, "typeName": { - "id": 374, - "name": "uint", + "id": 375, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6626:4:1", + "src": "7102:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4540,11 +6403,12 @@ }, { "constant": false, - "id": 377, + "id": 378, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 384, - "src": "6639:19:1", + "overrides": null, + "scope": 385, + "src": "7118:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4552,10 +6416,10 @@ "typeString": "bytes" }, "typeName": { - "id": 376, + "id": 377, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6639:5:1", + "src": "7118:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4565,20 +6429,20 @@ "visibility": "internal" } ], - "src": "6625:34:1" + "src": "7101:37:1" }, - "payable": false, "returnParameters": { - "id": 381, + "id": 382, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 380, + "id": 381, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 384, - "src": "6683:14:1", + "overrides": null, + "scope": 385, + "src": "7186:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4586,10 +6450,10 @@ "typeString": "int184" }, "typeName": { - "id": 379, + "id": 380, "name": "int184", "nodeType": "ElementaryTypeName", - "src": "6683:6:1", + "src": "7186:6:1", "typeDescriptions": { "typeIdentifier": "t_int184", "typeString": "int184" @@ -4599,76 +6463,120 @@ "visibility": "internal" } ], - "src": "6682:16:1" + "src": "7185:16:1" }, - "scope": 836, - "src": "6603:191:1", + "scope": 837, + "src": "7079:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 394, + "id": 395, "nodeType": "Block", - "src": "6896:95:1", + "src": "7425:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "7444:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7458:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "7479:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "7487:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7475:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7475:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7469:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "7469:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "7458:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 391, - "isOffset": false, - "isSlot": false, - "src": "6938:7:1", - "valueSize": 1 - } + "declaration": 389, + "isOffset": false, + "isSlot": false, + "src": "7479:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 388, - "isOffset": false, - "isSlot": false, - "src": "6959:6:1", - "valueSize": 1 - } + "declaration": 387, + "isOffset": false, + "isSlot": false, + "src": "7487:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 386, - "isOffset": false, - "isSlot": false, - "src": "6967:6:1", - "valueSize": 1 - } + "declaration": 392, + "isOffset": false, + "isSlot": false, + "src": "7458:7:1", + "valueSize": 1 } ], - "id": 393, + "id": 394, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "6915:76:1" + "src": "7435:70:1" } ] }, "documentation": null, - "id": 395, + "id": 396, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt192", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 389, + "id": 390, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 386, + "id": 387, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 395, - "src": "6823:11:1", + "overrides": null, + "scope": 396, + "src": "7321:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4676,10 +6584,10 @@ "typeString": "uint256" }, "typeName": { - "id": 385, - "name": "uint", + "id": 386, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6823:4:1", + "src": "7321:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4690,11 +6598,12 @@ }, { "constant": false, - "id": 388, + "id": 389, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 395, - "src": "6836:19:1", + "overrides": null, + "scope": 396, + "src": "7337:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4702,10 +6611,10 @@ "typeString": "bytes" }, "typeName": { - "id": 387, + "id": 388, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6836:5:1", + "src": "7337:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4715,20 +6624,20 @@ "visibility": "internal" } ], - "src": "6822:34:1" + "src": "7320:37:1" }, - "payable": false, "returnParameters": { - "id": 392, + "id": 393, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 391, + "id": 392, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 395, - "src": "6880:14:1", + "overrides": null, + "scope": 396, + "src": "7405:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4736,10 +6645,10 @@ "typeString": "int192" }, "typeName": { - "id": 390, + "id": 391, "name": "int192", "nodeType": "ElementaryTypeName", - "src": "6880:6:1", + "src": "7405:6:1", "typeDescriptions": { "typeIdentifier": "t_int192", "typeString": "int192" @@ -4749,76 +6658,120 @@ "visibility": "internal" } ], - "src": "6879:16:1" + "src": "7404:16:1" }, - "scope": 836, - "src": "6800:191:1", + "scope": 837, + "src": "7298:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 405, + "id": 406, "nodeType": "Block", - "src": "7093:95:1", + "src": "7644:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "7663:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7677:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "7698:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "7706:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7694:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7694:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7688:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "7688:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "7677:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 402, - "isOffset": false, - "isSlot": false, - "src": "7135:7:1", - "valueSize": 1 - } + "declaration": 400, + "isOffset": false, + "isSlot": false, + "src": "7698:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 399, - "isOffset": false, - "isSlot": false, - "src": "7156:6:1", - "valueSize": 1 - } + "declaration": 398, + "isOffset": false, + "isSlot": false, + "src": "7706:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 397, - "isOffset": false, - "isSlot": false, - "src": "7164:6:1", - "valueSize": 1 - } + "declaration": 403, + "isOffset": false, + "isSlot": false, + "src": "7677:7:1", + "valueSize": 1 } ], - "id": 404, + "id": 405, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "7112:76:1" + "src": "7654:70:1" } ] }, "documentation": null, - "id": 406, + "id": 407, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt200", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 400, + "id": 401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 397, + "id": 398, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "7020:11:1", + "overrides": null, + "scope": 407, + "src": "7540:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4826,10 +6779,10 @@ "typeString": "uint256" }, "typeName": { - "id": 396, - "name": "uint", + "id": 397, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7020:4:1", + "src": "7540:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4840,11 +6793,12 @@ }, { "constant": false, - "id": 399, + "id": 400, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "7033:19:1", + "overrides": null, + "scope": 407, + "src": "7556:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4852,10 +6806,10 @@ "typeString": "bytes" }, "typeName": { - "id": 398, + "id": 399, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7033:5:1", + "src": "7556:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4865,20 +6819,20 @@ "visibility": "internal" } ], - "src": "7019:34:1" + "src": "7539:37:1" }, - "payable": false, "returnParameters": { - "id": 403, + "id": 404, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 402, + "id": 403, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "7077:14:1", + "overrides": null, + "scope": 407, + "src": "7624:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4886,10 +6840,10 @@ "typeString": "int200" }, "typeName": { - "id": 401, + "id": 402, "name": "int200", "nodeType": "ElementaryTypeName", - "src": "7077:6:1", + "src": "7624:6:1", "typeDescriptions": { "typeIdentifier": "t_int200", "typeString": "int200" @@ -4899,76 +6853,120 @@ "visibility": "internal" } ], - "src": "7076:16:1" + "src": "7623:16:1" }, - "scope": 836, - "src": "6997:191:1", + "scope": 837, + "src": "7517:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 416, + "id": 417, "nodeType": "Block", - "src": "7290:95:1", + "src": "7863:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "7882:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7896:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "7917:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "7925:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7913:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7913:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7907:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "7907:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "7896:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 413, - "isOffset": false, - "isSlot": false, - "src": "7332:7:1", - "valueSize": 1 - } + "declaration": 411, + "isOffset": false, + "isSlot": false, + "src": "7917:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 410, - "isOffset": false, - "isSlot": false, - "src": "7353:6:1", - "valueSize": 1 - } + "declaration": 409, + "isOffset": false, + "isSlot": false, + "src": "7925:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 408, - "isOffset": false, - "isSlot": false, - "src": "7361:6:1", - "valueSize": 1 - } + "declaration": 414, + "isOffset": false, + "isSlot": false, + "src": "7896:7:1", + "valueSize": 1 } ], - "id": 415, + "id": 416, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "7309:76:1" + "src": "7873:70:1" } ] }, "documentation": null, - "id": 417, + "id": 418, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt208", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 411, + "id": 412, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 408, + "id": 409, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 417, - "src": "7217:11:1", + "overrides": null, + "scope": 418, + "src": "7759:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4976,10 +6974,10 @@ "typeString": "uint256" }, "typeName": { - "id": 407, - "name": "uint", + "id": 408, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7217:4:1", + "src": "7759:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4990,11 +6988,12 @@ }, { "constant": false, - "id": 410, + "id": 411, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 417, - "src": "7230:19:1", + "overrides": null, + "scope": 418, + "src": "7775:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5002,10 +7001,10 @@ "typeString": "bytes" }, "typeName": { - "id": 409, + "id": 410, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7230:5:1", + "src": "7775:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5015,20 +7014,20 @@ "visibility": "internal" } ], - "src": "7216:34:1" + "src": "7758:37:1" }, - "payable": false, "returnParameters": { - "id": 414, + "id": 415, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 413, + "id": 414, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 417, - "src": "7274:14:1", + "overrides": null, + "scope": 418, + "src": "7843:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5036,10 +7035,10 @@ "typeString": "int208" }, "typeName": { - "id": 412, + "id": 413, "name": "int208", "nodeType": "ElementaryTypeName", - "src": "7274:6:1", + "src": "7843:6:1", "typeDescriptions": { "typeIdentifier": "t_int208", "typeString": "int208" @@ -5049,76 +7048,120 @@ "visibility": "internal" } ], - "src": "7273:16:1" + "src": "7842:16:1" }, - "scope": 836, - "src": "7194:191:1", + "scope": 837, + "src": "7736:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 427, + "id": 428, "nodeType": "Block", - "src": "7487:95:1", + "src": "8082:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "8101:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8115:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "8136:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "8144:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8132:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "8132:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8126:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "8126:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "8115:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 424, - "isOffset": false, - "isSlot": false, - "src": "7529:7:1", - "valueSize": 1 - } + "declaration": 422, + "isOffset": false, + "isSlot": false, + "src": "8136:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 421, - "isOffset": false, - "isSlot": false, - "src": "7550:6:1", - "valueSize": 1 - } + "declaration": 420, + "isOffset": false, + "isSlot": false, + "src": "8144:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 419, - "isOffset": false, - "isSlot": false, - "src": "7558:6:1", - "valueSize": 1 - } + "declaration": 425, + "isOffset": false, + "isSlot": false, + "src": "8115:7:1", + "valueSize": 1 } ], - "id": 426, + "id": 427, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "7506:76:1" + "src": "8092:70:1" } ] }, "documentation": null, - "id": 428, + "id": 429, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt216", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 422, + "id": 423, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 419, + "id": 420, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 428, - "src": "7414:11:1", + "overrides": null, + "scope": 429, + "src": "7978:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5126,10 +7169,10 @@ "typeString": "uint256" }, "typeName": { - "id": 418, - "name": "uint", + "id": 419, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7414:4:1", + "src": "7978:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5140,11 +7183,12 @@ }, { "constant": false, - "id": 421, + "id": 422, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 428, - "src": "7427:19:1", + "overrides": null, + "scope": 429, + "src": "7994:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5152,10 +7196,10 @@ "typeString": "bytes" }, "typeName": { - "id": 420, + "id": 421, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7427:5:1", + "src": "7994:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5165,20 +7209,20 @@ "visibility": "internal" } ], - "src": "7413:34:1" + "src": "7977:37:1" }, - "payable": false, "returnParameters": { - "id": 425, + "id": 426, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 424, + "id": 425, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 428, - "src": "7471:14:1", + "overrides": null, + "scope": 429, + "src": "8062:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5186,10 +7230,10 @@ "typeString": "int216" }, "typeName": { - "id": 423, + "id": 424, "name": "int216", "nodeType": "ElementaryTypeName", - "src": "7471:6:1", + "src": "8062:6:1", "typeDescriptions": { "typeIdentifier": "t_int216", "typeString": "int216" @@ -5199,76 +7243,120 @@ "visibility": "internal" } ], - "src": "7470:16:1" + "src": "8061:16:1" }, - "scope": 836, - "src": "7391:191:1", + "scope": 837, + "src": "7955:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 438, + "id": 439, "nodeType": "Block", - "src": "7684:95:1", + "src": "8301:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "8320:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8334:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "8355:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "8363:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8351:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "8351:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8345:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "8345:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "8334:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 435, - "isOffset": false, - "isSlot": false, - "src": "7726:7:1", - "valueSize": 1 - } + "declaration": 433, + "isOffset": false, + "isSlot": false, + "src": "8355:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 432, - "isOffset": false, - "isSlot": false, - "src": "7747:6:1", - "valueSize": 1 - } + "declaration": 431, + "isOffset": false, + "isSlot": false, + "src": "8363:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 430, - "isOffset": false, - "isSlot": false, - "src": "7755:6:1", - "valueSize": 1 - } + "declaration": 436, + "isOffset": false, + "isSlot": false, + "src": "8334:7:1", + "valueSize": 1 } ], - "id": 437, + "id": 438, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "7703:76:1" + "src": "8311:70:1" } ] }, "documentation": null, - "id": 439, + "id": 440, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt224", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 433, + "id": 434, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 430, + "id": 431, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 439, - "src": "7611:11:1", + "overrides": null, + "scope": 440, + "src": "8197:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5276,10 +7364,10 @@ "typeString": "uint256" }, "typeName": { - "id": 429, - "name": "uint", + "id": 430, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7611:4:1", + "src": "8197:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5290,11 +7378,12 @@ }, { "constant": false, - "id": 432, + "id": 433, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 439, - "src": "7624:19:1", + "overrides": null, + "scope": 440, + "src": "8213:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5302,10 +7391,10 @@ "typeString": "bytes" }, "typeName": { - "id": 431, + "id": 432, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7624:5:1", + "src": "8213:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5315,20 +7404,20 @@ "visibility": "internal" } ], - "src": "7610:34:1" + "src": "8196:37:1" }, - "payable": false, "returnParameters": { - "id": 436, + "id": 437, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 435, + "id": 436, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 439, - "src": "7668:14:1", + "overrides": null, + "scope": 440, + "src": "8281:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5336,10 +7425,10 @@ "typeString": "int224" }, "typeName": { - "id": 434, + "id": 435, "name": "int224", "nodeType": "ElementaryTypeName", - "src": "7668:6:1", + "src": "8281:6:1", "typeDescriptions": { "typeIdentifier": "t_int224", "typeString": "int224" @@ -5349,76 +7438,120 @@ "visibility": "internal" } ], - "src": "7667:16:1" + "src": "8280:16:1" }, - "scope": 836, - "src": "7588:191:1", + "scope": 837, + "src": "8174:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 449, + "id": 450, "nodeType": "Block", - "src": "7881:95:1", + "src": "8520:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "8539:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8553:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "8574:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "8582:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8570:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "8570:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8564:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "8564:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "8553:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 446, - "isOffset": false, - "isSlot": false, - "src": "7923:7:1", - "valueSize": 1 - } + "declaration": 444, + "isOffset": false, + "isSlot": false, + "src": "8574:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 443, - "isOffset": false, - "isSlot": false, - "src": "7944:6:1", - "valueSize": 1 - } + "declaration": 442, + "isOffset": false, + "isSlot": false, + "src": "8582:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 441, - "isOffset": false, - "isSlot": false, - "src": "7952:6:1", - "valueSize": 1 - } + "declaration": 447, + "isOffset": false, + "isSlot": false, + "src": "8553:7:1", + "valueSize": 1 } ], - "id": 448, + "id": 449, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "7900:76:1" + "src": "8530:70:1" } ] }, "documentation": null, - "id": 450, + "id": 451, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt232", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 444, + "id": 445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 441, + "id": 442, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 450, - "src": "7808:11:1", + "overrides": null, + "scope": 451, + "src": "8416:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5426,10 +7559,10 @@ "typeString": "uint256" }, "typeName": { - "id": 440, - "name": "uint", + "id": 441, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7808:4:1", + "src": "8416:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5440,11 +7573,12 @@ }, { "constant": false, - "id": 443, + "id": 444, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 450, - "src": "7821:19:1", + "overrides": null, + "scope": 451, + "src": "8432:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5452,10 +7586,10 @@ "typeString": "bytes" }, "typeName": { - "id": 442, + "id": 443, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7821:5:1", + "src": "8432:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5465,20 +7599,20 @@ "visibility": "internal" } ], - "src": "7807:34:1" + "src": "8415:37:1" }, - "payable": false, "returnParameters": { - "id": 447, + "id": 448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 446, + "id": 447, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 450, - "src": "7865:14:1", + "overrides": null, + "scope": 451, + "src": "8500:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5486,10 +7620,10 @@ "typeString": "int232" }, "typeName": { - "id": 445, + "id": 446, "name": "int232", "nodeType": "ElementaryTypeName", - "src": "7865:6:1", + "src": "8500:6:1", "typeDescriptions": { "typeIdentifier": "t_int232", "typeString": "int232" @@ -5499,76 +7633,120 @@ "visibility": "internal" } ], - "src": "7864:16:1" + "src": "8499:16:1" }, - "scope": 836, - "src": "7785:191:1", + "scope": 837, + "src": "8393:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 460, + "id": 461, "nodeType": "Block", - "src": "8078:95:1", + "src": "8739:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "8758:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8772:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "8793:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "8801:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8789:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "8789:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8783:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "8783:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "8772:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 457, - "isOffset": false, - "isSlot": false, - "src": "8120:7:1", - "valueSize": 1 - } + "declaration": 455, + "isOffset": false, + "isSlot": false, + "src": "8793:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 454, - "isOffset": false, - "isSlot": false, - "src": "8141:6:1", - "valueSize": 1 - } + "declaration": 453, + "isOffset": false, + "isSlot": false, + "src": "8801:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 452, - "isOffset": false, - "isSlot": false, - "src": "8149:6:1", - "valueSize": 1 - } + "declaration": 458, + "isOffset": false, + "isSlot": false, + "src": "8772:7:1", + "valueSize": 1 } ], - "id": 459, + "id": 460, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "8097:76:1" + "src": "8749:70:1" } ] }, "documentation": null, - "id": 461, + "id": 462, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt240", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 455, + "id": 456, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 452, + "id": 453, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 461, - "src": "8005:11:1", + "overrides": null, + "scope": 462, + "src": "8635:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5576,10 +7754,10 @@ "typeString": "uint256" }, "typeName": { - "id": 451, - "name": "uint", + "id": 452, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8005:4:1", + "src": "8635:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5590,11 +7768,12 @@ }, { "constant": false, - "id": 454, + "id": 455, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 461, - "src": "8018:19:1", + "overrides": null, + "scope": 462, + "src": "8651:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5602,10 +7781,10 @@ "typeString": "bytes" }, "typeName": { - "id": 453, + "id": 454, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8018:5:1", + "src": "8651:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5615,20 +7794,20 @@ "visibility": "internal" } ], - "src": "8004:34:1" + "src": "8634:37:1" }, - "payable": false, "returnParameters": { - "id": 458, + "id": 459, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 457, + "id": 458, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 461, - "src": "8062:14:1", + "overrides": null, + "scope": 462, + "src": "8719:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5636,10 +7815,10 @@ "typeString": "int240" }, "typeName": { - "id": 456, + "id": 457, "name": "int240", "nodeType": "ElementaryTypeName", - "src": "8062:6:1", + "src": "8719:6:1", "typeDescriptions": { "typeIdentifier": "t_int240", "typeString": "int240" @@ -5649,76 +7828,120 @@ "visibility": "internal" } ], - "src": "8061:16:1" + "src": "8718:16:1" }, - "scope": 836, - "src": "7982:191:1", + "scope": 837, + "src": "8612:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 471, + "id": 472, "nodeType": "Block", - "src": "8275:95:1", + "src": "8958:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "8977:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8991:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "9012:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "9020:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9008:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9008:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9002:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "9002:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "8991:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 468, - "isOffset": false, - "isSlot": false, - "src": "8317:7:1", - "valueSize": 1 - } + "declaration": 466, + "isOffset": false, + "isSlot": false, + "src": "9012:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 465, - "isOffset": false, - "isSlot": false, - "src": "8338:6:1", - "valueSize": 1 - } + "declaration": 464, + "isOffset": false, + "isSlot": false, + "src": "9020:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 463, - "isOffset": false, - "isSlot": false, - "src": "8346:6:1", - "valueSize": 1 - } + "declaration": 469, + "isOffset": false, + "isSlot": false, + "src": "8991:7:1", + "valueSize": 1 } ], - "id": 470, + "id": 471, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "8294:76:1" + "src": "8968:70:1" } ] }, "documentation": null, - "id": 472, + "id": 473, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt248", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 466, + "id": 467, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 463, + "id": 464, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 472, - "src": "8202:11:1", + "overrides": null, + "scope": 473, + "src": "8854:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5726,10 +7949,10 @@ "typeString": "uint256" }, "typeName": { - "id": 462, - "name": "uint", + "id": 463, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8202:4:1", + "src": "8854:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5740,11 +7963,12 @@ }, { "constant": false, - "id": 465, + "id": 466, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 472, - "src": "8215:19:1", + "overrides": null, + "scope": 473, + "src": "8870:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5752,10 +7976,10 @@ "typeString": "bytes" }, "typeName": { - "id": 464, + "id": 465, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8215:5:1", + "src": "8870:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5765,20 +7989,20 @@ "visibility": "internal" } ], - "src": "8201:34:1" + "src": "8853:37:1" }, - "payable": false, "returnParameters": { - "id": 469, + "id": 470, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 468, + "id": 469, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 472, - "src": "8259:14:1", + "overrides": null, + "scope": 473, + "src": "8938:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5786,10 +8010,10 @@ "typeString": "int248" }, "typeName": { - "id": 467, + "id": 468, "name": "int248", "nodeType": "ElementaryTypeName", - "src": "8259:6:1", + "src": "8938:6:1", "typeDescriptions": { "typeIdentifier": "t_int248", "typeString": "int248" @@ -5799,76 +8023,120 @@ "visibility": "internal" } ], - "src": "8258:16:1" + "src": "8937:16:1" }, - "scope": 836, - "src": "8179:191:1", + "scope": 837, + "src": "8831:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 482, + "id": 483, "nodeType": "Block", - "src": "8472:95:1", + "src": "9177:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "9196:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9210:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "9231:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "9239:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9227:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9227:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9221:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "9221:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "9210:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 479, - "isOffset": false, - "isSlot": false, - "src": "8514:7:1", - "valueSize": 1 - } + "declaration": 477, + "isOffset": false, + "isSlot": false, + "src": "9231:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 476, - "isOffset": false, - "isSlot": false, - "src": "8535:6:1", - "valueSize": 1 - } + "declaration": 475, + "isOffset": false, + "isSlot": false, + "src": "9239:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 474, - "isOffset": false, - "isSlot": false, - "src": "8543:6:1", - "valueSize": 1 - } + "declaration": 480, + "isOffset": false, + "isSlot": false, + "src": "9210:7:1", + "valueSize": 1 } ], - "id": 481, + "id": 482, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "8491:76:1" + "src": "9187:70:1" } ] }, "documentation": null, - "id": 483, + "id": 484, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt256", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 477, + "id": 478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 474, + "id": 475, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8399:11:1", + "overrides": null, + "scope": 484, + "src": "9073:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5876,10 +8144,10 @@ "typeString": "uint256" }, "typeName": { - "id": 473, - "name": "uint", + "id": 474, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8399:4:1", + "src": "9073:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5890,11 +8158,12 @@ }, { "constant": false, - "id": 476, + "id": 477, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8412:19:1", + "overrides": null, + "scope": 484, + "src": "9089:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5902,10 +8171,10 @@ "typeString": "bytes" }, "typeName": { - "id": 475, + "id": 476, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8412:5:1", + "src": "9089:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5915,20 +8184,20 @@ "visibility": "internal" } ], - "src": "8398:34:1" + "src": "9072:37:1" }, - "payable": false, "returnParameters": { - "id": 480, + "id": 481, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 479, + "id": 480, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8456:14:1", + "overrides": null, + "scope": 484, + "src": "9157:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5936,10 +8205,10 @@ "typeString": "int256" }, "typeName": { - "id": 478, + "id": 479, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "8456:6:1", + "src": "9157:6:1", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -5949,76 +8218,120 @@ "visibility": "internal" } ], - "src": "8455:16:1" + "src": "9156:16:1" }, - "scope": 836, - "src": "8376:191:1", + "scope": 837, + "src": "9050:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 493, + "id": 494, "nodeType": "Block", - "src": "8664:95:1", + "src": "9394:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "9413:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9427:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "9448:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "9456:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9444:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9444:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9438:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "9438:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "9427:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 490, - "isOffset": false, - "isSlot": false, - "src": "8706:7:1", - "valueSize": 1 - } + "declaration": 488, + "isOffset": false, + "isSlot": false, + "src": "9448:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 487, - "isOffset": false, - "isSlot": false, - "src": "8727:6:1", - "valueSize": 1 - } + "declaration": 486, + "isOffset": false, + "isSlot": false, + "src": "9456:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 485, - "isOffset": false, - "isSlot": false, - "src": "8735:6:1", - "valueSize": 1 - } + "declaration": 491, + "isOffset": false, + "isSlot": false, + "src": "9427:7:1", + "valueSize": 1 } ], - "id": 492, + "id": 493, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "8683:76:1" + "src": "9404:70:1" } ] }, "documentation": null, - "id": 494, + "id": 495, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint8", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 488, + "id": 489, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 485, + "id": 486, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "8592:11:1", + "overrides": null, + "scope": 495, + "src": "9291:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6026,10 +8339,10 @@ "typeString": "uint256" }, "typeName": { - "id": 484, - "name": "uint", + "id": 485, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8592:4:1", + "src": "9291:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6040,11 +8353,12 @@ }, { "constant": false, - "id": 487, + "id": 488, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "8605:19:1", + "overrides": null, + "scope": 495, + "src": "9307:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6052,10 +8366,10 @@ "typeString": "bytes" }, "typeName": { - "id": 486, + "id": 487, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8605:5:1", + "src": "9307:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -6065,20 +8379,20 @@ "visibility": "internal" } ], - "src": "8591:34:1" + "src": "9290:37:1" }, - "payable": false, "returnParameters": { - "id": 491, + "id": 492, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 490, + "id": 491, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "8649:13:1", + "overrides": null, + "scope": 495, + "src": "9375:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6086,10 +8400,10 @@ "typeString": "uint8" }, "typeName": { - "id": 489, + "id": 490, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "8649:5:1", + "src": "9375:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6099,76 +8413,120 @@ "visibility": "internal" } ], - "src": "8648:15:1" + "src": "9374:15:1" }, - "scope": 836, - "src": "8570:189:1", + "scope": 837, + "src": "9269:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 504, + "id": 505, "nodeType": "Block", - "src": "8859:95:1", + "src": "9613:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "9632:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9646:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "9667:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "9675:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9663:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9663:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9657:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "9657:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "9646:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 501, - "isOffset": false, - "isSlot": false, - "src": "8901:7:1", - "valueSize": 1 - } + "declaration": 499, + "isOffset": false, + "isSlot": false, + "src": "9667:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 498, - "isOffset": false, - "isSlot": false, - "src": "8922:6:1", - "valueSize": 1 - } + "declaration": 497, + "isOffset": false, + "isSlot": false, + "src": "9675:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 496, - "isOffset": false, - "isSlot": false, - "src": "8930:6:1", - "valueSize": 1 - } + "declaration": 502, + "isOffset": false, + "isSlot": false, + "src": "9646:7:1", + "valueSize": 1 } ], - "id": 503, + "id": 504, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "8878:76:1" + "src": "9623:70:1" } ] }, "documentation": null, - "id": 505, + "id": 506, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint16", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 499, + "id": 500, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 496, + "id": 497, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 505, - "src": "8786:11:1", + "overrides": null, + "scope": 506, + "src": "9509:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6176,10 +8534,10 @@ "typeString": "uint256" }, "typeName": { - "id": 495, - "name": "uint", + "id": 496, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8786:4:1", + "src": "9509:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6190,11 +8548,12 @@ }, { "constant": false, - "id": 498, + "id": 499, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 505, - "src": "8799:19:1", + "overrides": null, + "scope": 506, + "src": "9525:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6202,10 +8561,10 @@ "typeString": "bytes" }, "typeName": { - "id": 497, + "id": 498, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8799:5:1", + "src": "9525:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -6215,20 +8574,20 @@ "visibility": "internal" } ], - "src": "8785:34:1" + "src": "9508:37:1" }, - "payable": false, "returnParameters": { - "id": 502, + "id": 503, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 501, + "id": 502, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 505, - "src": "8843:14:1", + "overrides": null, + "scope": 506, + "src": "9593:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6236,10 +8595,10 @@ "typeString": "uint16" }, "typeName": { - "id": 500, + "id": 501, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "8843:6:1", + "src": "9593:6:1", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -6249,76 +8608,120 @@ "visibility": "internal" } ], - "src": "8842:16:1" + "src": "9592:16:1" }, - "scope": 836, - "src": "8763:191:1", + "scope": 837, + "src": "9486:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 515, + "id": 516, "nodeType": "Block", - "src": "9054:95:1", + "src": "9832:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "9851:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9865:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "9886:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "9894:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9882:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9882:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9876:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "9876:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "9865:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 512, - "isOffset": false, - "isSlot": false, - "src": "9096:7:1", - "valueSize": 1 - } + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "9886:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 509, - "isOffset": false, - "isSlot": false, - "src": "9117:6:1", - "valueSize": 1 - } + "declaration": 508, + "isOffset": false, + "isSlot": false, + "src": "9894:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "9125:6:1", - "valueSize": 1 - } + "declaration": 513, + "isOffset": false, + "isSlot": false, + "src": "9865:7:1", + "valueSize": 1 } ], - "id": 514, + "id": 515, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "9073:76:1" + "src": "9842:70:1" } ] }, "documentation": null, - "id": 516, + "id": 517, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint24", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 510, + "id": 511, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 507, + "id": 508, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 516, - "src": "8981:11:1", + "overrides": null, + "scope": 517, + "src": "9728:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6326,10 +8729,10 @@ "typeString": "uint256" }, "typeName": { - "id": 506, - "name": "uint", + "id": 507, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8981:4:1", + "src": "9728:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6340,11 +8743,12 @@ }, { "constant": false, - "id": 509, + "id": 510, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 516, - "src": "8994:19:1", + "overrides": null, + "scope": 517, + "src": "9744:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6352,10 +8756,10 @@ "typeString": "bytes" }, "typeName": { - "id": 508, + "id": 509, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8994:5:1", + "src": "9744:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -6365,20 +8769,20 @@ "visibility": "internal" } ], - "src": "8980:34:1" + "src": "9727:37:1" }, - "payable": false, "returnParameters": { - "id": 513, + "id": 514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 512, + "id": 513, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 516, - "src": "9038:14:1", + "overrides": null, + "scope": 517, + "src": "9812:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6386,10 +8790,10 @@ "typeString": "uint24" }, "typeName": { - "id": 511, + "id": 512, "name": "uint24", "nodeType": "ElementaryTypeName", - "src": "9038:6:1", + "src": "9812:6:1", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" @@ -6399,76 +8803,120 @@ "visibility": "internal" } ], - "src": "9037:16:1" + "src": "9811:16:1" }, - "scope": 836, - "src": "8958:191:1", + "scope": 837, + "src": "9705:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 526, + "id": 527, "nodeType": "Block", - "src": "9249:95:1", + "src": "10051:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "10070:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10084:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "10105:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "10113:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10101:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10101:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10095:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "10095:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "10084:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 523, - "isOffset": false, - "isSlot": false, - "src": "9291:7:1", - "valueSize": 1 - } + "declaration": 521, + "isOffset": false, + "isSlot": false, + "src": "10105:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 520, - "isOffset": false, - "isSlot": false, - "src": "9312:6:1", - "valueSize": 1 - } + "declaration": 519, + "isOffset": false, + "isSlot": false, + "src": "10113:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 518, - "isOffset": false, - "isSlot": false, - "src": "9320:6:1", - "valueSize": 1 - } + "declaration": 524, + "isOffset": false, + "isSlot": false, + "src": "10084:7:1", + "valueSize": 1 } ], - "id": 525, + "id": 526, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "9268:76:1" + "src": "10061:70:1" } ] }, "documentation": null, - "id": 527, + "id": 528, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint32", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 521, + "id": 522, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 518, + "id": 519, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 527, - "src": "9176:11:1", + "overrides": null, + "scope": 528, + "src": "9947:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6476,10 +8924,10 @@ "typeString": "uint256" }, "typeName": { - "id": 517, - "name": "uint", + "id": 518, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9176:4:1", + "src": "9947:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6490,11 +8938,12 @@ }, { "constant": false, - "id": 520, + "id": 521, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 527, - "src": "9189:19:1", + "overrides": null, + "scope": 528, + "src": "9963:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6502,10 +8951,10 @@ "typeString": "bytes" }, "typeName": { - "id": 519, + "id": 520, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9189:5:1", + "src": "9963:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -6515,20 +8964,20 @@ "visibility": "internal" } ], - "src": "9175:34:1" + "src": "9946:37:1" }, - "payable": false, "returnParameters": { - "id": 524, + "id": 525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 523, + "id": 524, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 527, - "src": "9233:14:1", + "overrides": null, + "scope": 528, + "src": "10031:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6536,10 +8985,10 @@ "typeString": "uint32" }, "typeName": { - "id": 522, + "id": 523, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "9233:6:1", + "src": "10031:6:1", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -6549,76 +8998,120 @@ "visibility": "internal" } ], - "src": "9232:16:1" + "src": "10030:16:1" }, - "scope": 836, - "src": "9153:191:1", + "scope": 837, + "src": "9924:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 537, + "id": 538, "nodeType": "Block", - "src": "9444:95:1", + "src": "10270:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "10289:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10303:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "10324:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "10332:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10320:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10320:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10314:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "10314:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "10303:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 534, - "isOffset": false, - "isSlot": false, - "src": "9486:7:1", - "valueSize": 1 - } + "declaration": 532, + "isOffset": false, + "isSlot": false, + "src": "10324:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 531, - "isOffset": false, - "isSlot": false, - "src": "9507:6:1", - "valueSize": 1 - } + "declaration": 530, + "isOffset": false, + "isSlot": false, + "src": "10332:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 529, - "isOffset": false, - "isSlot": false, - "src": "9515:6:1", - "valueSize": 1 - } + "declaration": 535, + "isOffset": false, + "isSlot": false, + "src": "10303:7:1", + "valueSize": 1 } ], - "id": 536, + "id": 537, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "9463:76:1" + "src": "10280:70:1" } ] }, "documentation": null, - "id": 538, + "id": 539, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint40", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 532, + "id": 533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 529, + "id": 530, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 538, - "src": "9371:11:1", + "overrides": null, + "scope": 539, + "src": "10166:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6626,10 +9119,10 @@ "typeString": "uint256" }, "typeName": { - "id": 528, - "name": "uint", + "id": 529, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9371:4:1", + "src": "10166:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6640,11 +9133,12 @@ }, { "constant": false, - "id": 531, + "id": 532, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 538, - "src": "9384:19:1", + "overrides": null, + "scope": 539, + "src": "10182:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6652,10 +9146,10 @@ "typeString": "bytes" }, "typeName": { - "id": 530, + "id": 531, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9384:5:1", + "src": "10182:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -6665,20 +9159,20 @@ "visibility": "internal" } ], - "src": "9370:34:1" + "src": "10165:37:1" }, - "payable": false, "returnParameters": { - "id": 535, + "id": 536, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 534, + "id": 535, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 538, - "src": "9428:14:1", + "overrides": null, + "scope": 539, + "src": "10250:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6686,10 +9180,10 @@ "typeString": "uint40" }, "typeName": { - "id": 533, + "id": 534, "name": "uint40", "nodeType": "ElementaryTypeName", - "src": "9428:6:1", + "src": "10250:6:1", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -6699,76 +9193,120 @@ "visibility": "internal" } ], - "src": "9427:16:1" + "src": "10249:16:1" }, - "scope": 836, - "src": "9348:191:1", + "scope": 837, + "src": "10143:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 548, + "id": 549, "nodeType": "Block", - "src": "9639:95:1", + "src": "10489:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "10508:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10522:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "10543:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "10551:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10539:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10539:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10533:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "10533:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "10522:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 545, - "isOffset": false, - "isSlot": false, - "src": "9681:7:1", - "valueSize": 1 - } + "declaration": 543, + "isOffset": false, + "isSlot": false, + "src": "10543:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 542, - "isOffset": false, - "isSlot": false, - "src": "9702:6:1", - "valueSize": 1 - } + "declaration": 541, + "isOffset": false, + "isSlot": false, + "src": "10551:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 540, - "isOffset": false, - "isSlot": false, - "src": "9710:6:1", - "valueSize": 1 - } + "declaration": 546, + "isOffset": false, + "isSlot": false, + "src": "10522:7:1", + "valueSize": 1 } ], - "id": 547, + "id": 548, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "9658:76:1" + "src": "10499:70:1" } ] }, "documentation": null, - "id": 549, + "id": 550, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint48", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 543, + "id": 544, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 540, + "id": 541, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 549, - "src": "9566:11:1", + "overrides": null, + "scope": 550, + "src": "10385:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6776,10 +9314,10 @@ "typeString": "uint256" }, "typeName": { - "id": 539, - "name": "uint", + "id": 540, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9566:4:1", + "src": "10385:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6790,11 +9328,12 @@ }, { "constant": false, - "id": 542, + "id": 543, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 549, - "src": "9579:19:1", + "overrides": null, + "scope": 550, + "src": "10401:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6802,10 +9341,10 @@ "typeString": "bytes" }, "typeName": { - "id": 541, + "id": 542, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9579:5:1", + "src": "10401:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -6815,20 +9354,20 @@ "visibility": "internal" } ], - "src": "9565:34:1" + "src": "10384:37:1" }, - "payable": false, "returnParameters": { - "id": 546, + "id": 547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 545, + "id": 546, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 549, - "src": "9623:14:1", + "overrides": null, + "scope": 550, + "src": "10469:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6836,10 +9375,10 @@ "typeString": "uint48" }, "typeName": { - "id": 544, + "id": 545, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "9623:6:1", + "src": "10469:6:1", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -6849,76 +9388,120 @@ "visibility": "internal" } ], - "src": "9622:16:1" + "src": "10468:16:1" }, - "scope": 836, - "src": "9543:191:1", + "scope": 837, + "src": "10362:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 559, + "id": 560, "nodeType": "Block", - "src": "9834:95:1", + "src": "10708:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "10727:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10741:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "10762:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "10770:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10758:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10758:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10752:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "10752:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "10741:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 556, - "isOffset": false, - "isSlot": false, - "src": "9876:7:1", - "valueSize": 1 - } + "declaration": 554, + "isOffset": false, + "isSlot": false, + "src": "10762:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 553, - "isOffset": false, - "isSlot": false, - "src": "9897:6:1", - "valueSize": 1 - } + "declaration": 552, + "isOffset": false, + "isSlot": false, + "src": "10770:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 551, - "isOffset": false, - "isSlot": false, - "src": "9905:6:1", - "valueSize": 1 - } + "declaration": 557, + "isOffset": false, + "isSlot": false, + "src": "10741:7:1", + "valueSize": 1 } ], - "id": 558, + "id": 559, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "9853:76:1" + "src": "10718:70:1" } ] }, "documentation": null, - "id": 560, + "id": 561, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint56", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 554, + "id": 555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 551, + "id": 552, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 560, - "src": "9761:11:1", + "overrides": null, + "scope": 561, + "src": "10604:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6926,10 +9509,10 @@ "typeString": "uint256" }, "typeName": { - "id": 550, - "name": "uint", + "id": 551, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9761:4:1", + "src": "10604:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6940,11 +9523,12 @@ }, { "constant": false, - "id": 553, + "id": 554, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 560, - "src": "9774:19:1", + "overrides": null, + "scope": 561, + "src": "10620:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6952,10 +9536,10 @@ "typeString": "bytes" }, "typeName": { - "id": 552, + "id": 553, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9774:5:1", + "src": "10620:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -6965,20 +9549,20 @@ "visibility": "internal" } ], - "src": "9760:34:1" + "src": "10603:37:1" }, - "payable": false, "returnParameters": { - "id": 557, + "id": 558, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 556, + "id": 557, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 560, - "src": "9818:14:1", + "overrides": null, + "scope": 561, + "src": "10688:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6986,10 +9570,10 @@ "typeString": "uint56" }, "typeName": { - "id": 555, + "id": 556, "name": "uint56", "nodeType": "ElementaryTypeName", - "src": "9818:6:1", + "src": "10688:6:1", "typeDescriptions": { "typeIdentifier": "t_uint56", "typeString": "uint56" @@ -6999,76 +9583,120 @@ "visibility": "internal" } ], - "src": "9817:16:1" + "src": "10687:16:1" }, - "scope": 836, - "src": "9738:191:1", + "scope": 837, + "src": "10581:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 570, + "id": 571, "nodeType": "Block", - "src": "10029:95:1", + "src": "10927:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "10946:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10960:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "10981:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "10989:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10977:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10977:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10971:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "10971:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "10960:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 567, - "isOffset": false, - "isSlot": false, - "src": "10071:7:1", - "valueSize": 1 - } + "declaration": 565, + "isOffset": false, + "isSlot": false, + "src": "10981:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 564, - "isOffset": false, - "isSlot": false, - "src": "10092:6:1", - "valueSize": 1 - } + "declaration": 563, + "isOffset": false, + "isSlot": false, + "src": "10989:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 562, - "isOffset": false, - "isSlot": false, - "src": "10100:6:1", - "valueSize": 1 - } + "declaration": 568, + "isOffset": false, + "isSlot": false, + "src": "10960:7:1", + "valueSize": 1 } ], - "id": 569, + "id": 570, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "10048:76:1" + "src": "10937:70:1" } ] }, "documentation": null, - "id": 571, + "id": 572, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint64", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 565, + "id": 566, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 562, + "id": 563, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "9956:11:1", + "overrides": null, + "scope": 572, + "src": "10823:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7076,10 +9704,10 @@ "typeString": "uint256" }, "typeName": { - "id": 561, - "name": "uint", + "id": 562, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9956:4:1", + "src": "10823:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7090,11 +9718,12 @@ }, { "constant": false, - "id": 564, + "id": 565, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "9969:19:1", + "overrides": null, + "scope": 572, + "src": "10839:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7102,10 +9731,10 @@ "typeString": "bytes" }, "typeName": { - "id": 563, + "id": 564, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9969:5:1", + "src": "10839:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7115,20 +9744,20 @@ "visibility": "internal" } ], - "src": "9955:34:1" + "src": "10822:37:1" }, - "payable": false, "returnParameters": { - "id": 568, + "id": 569, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 567, + "id": 568, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "10013:14:1", + "overrides": null, + "scope": 572, + "src": "10907:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7136,10 +9765,10 @@ "typeString": "uint64" }, "typeName": { - "id": 566, + "id": 567, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "10013:6:1", + "src": "10907:6:1", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -7149,76 +9778,120 @@ "visibility": "internal" } ], - "src": "10012:16:1" + "src": "10906:16:1" }, - "scope": 836, - "src": "9933:191:1", + "scope": 837, + "src": "10800:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 581, + "id": 582, "nodeType": "Block", - "src": "10224:95:1", + "src": "11146:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "11165:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11179:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "11200:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "11208:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11196:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11196:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11190:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "11190:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "11179:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 578, - "isOffset": false, - "isSlot": false, - "src": "10266:7:1", - "valueSize": 1 - } + "declaration": 576, + "isOffset": false, + "isSlot": false, + "src": "11200:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 575, - "isOffset": false, - "isSlot": false, - "src": "10287:6:1", - "valueSize": 1 - } + "declaration": 574, + "isOffset": false, + "isSlot": false, + "src": "11208:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 573, - "isOffset": false, - "isSlot": false, - "src": "10295:6:1", - "valueSize": 1 - } + "declaration": 579, + "isOffset": false, + "isSlot": false, + "src": "11179:7:1", + "valueSize": 1 } ], - "id": 580, + "id": 581, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "10243:76:1" + "src": "11156:70:1" } ] }, "documentation": null, - "id": 582, + "id": 583, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint72", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 576, + "id": 577, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 573, + "id": 574, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10151:11:1", + "overrides": null, + "scope": 583, + "src": "11042:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7226,10 +9899,10 @@ "typeString": "uint256" }, "typeName": { - "id": 572, - "name": "uint", + "id": 573, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10151:4:1", + "src": "11042:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7240,11 +9913,12 @@ }, { "constant": false, - "id": 575, + "id": 576, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10164:19:1", + "overrides": null, + "scope": 583, + "src": "11058:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7252,10 +9926,10 @@ "typeString": "bytes" }, "typeName": { - "id": 574, + "id": 575, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10164:5:1", + "src": "11058:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7265,20 +9939,20 @@ "visibility": "internal" } ], - "src": "10150:34:1" + "src": "11041:37:1" }, - "payable": false, "returnParameters": { - "id": 579, + "id": 580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 578, + "id": 579, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10208:14:1", + "overrides": null, + "scope": 583, + "src": "11126:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7286,10 +9960,10 @@ "typeString": "uint72" }, "typeName": { - "id": 577, + "id": 578, "name": "uint72", "nodeType": "ElementaryTypeName", - "src": "10208:6:1", + "src": "11126:6:1", "typeDescriptions": { "typeIdentifier": "t_uint72", "typeString": "uint72" @@ -7299,76 +9973,120 @@ "visibility": "internal" } ], - "src": "10207:16:1" + "src": "11125:16:1" }, - "scope": 836, - "src": "10128:191:1", + "scope": 837, + "src": "11019:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 592, + "id": 593, "nodeType": "Block", - "src": "10419:95:1", + "src": "11365:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "11384:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11398:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "11419:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "11427:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11415:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11415:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11409:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "11409:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "11398:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 589, - "isOffset": false, - "isSlot": false, - "src": "10461:7:1", - "valueSize": 1 - } + "declaration": 587, + "isOffset": false, + "isSlot": false, + "src": "11419:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 586, - "isOffset": false, - "isSlot": false, - "src": "10482:6:1", - "valueSize": 1 - } + "declaration": 585, + "isOffset": false, + "isSlot": false, + "src": "11427:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 584, - "isOffset": false, - "isSlot": false, - "src": "10490:6:1", - "valueSize": 1 - } + "declaration": 590, + "isOffset": false, + "isSlot": false, + "src": "11398:7:1", + "valueSize": 1 } ], - "id": 591, + "id": 592, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "10438:76:1" + "src": "11375:70:1" } ] }, "documentation": null, - "id": 593, + "id": 594, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint80", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 587, + "id": 588, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 584, + "id": 585, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 593, - "src": "10346:11:1", + "overrides": null, + "scope": 594, + "src": "11261:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7376,10 +10094,10 @@ "typeString": "uint256" }, "typeName": { - "id": 583, - "name": "uint", + "id": 584, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10346:4:1", + "src": "11261:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7390,11 +10108,12 @@ }, { "constant": false, - "id": 586, + "id": 587, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 593, - "src": "10359:19:1", + "overrides": null, + "scope": 594, + "src": "11277:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7402,10 +10121,10 @@ "typeString": "bytes" }, "typeName": { - "id": 585, + "id": 586, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10359:5:1", + "src": "11277:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7415,20 +10134,20 @@ "visibility": "internal" } ], - "src": "10345:34:1" + "src": "11260:37:1" }, - "payable": false, "returnParameters": { - "id": 590, + "id": 591, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 589, + "id": 590, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 593, - "src": "10403:14:1", + "overrides": null, + "scope": 594, + "src": "11345:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7436,10 +10155,10 @@ "typeString": "uint80" }, "typeName": { - "id": 588, + "id": 589, "name": "uint80", "nodeType": "ElementaryTypeName", - "src": "10403:6:1", + "src": "11345:6:1", "typeDescriptions": { "typeIdentifier": "t_uint80", "typeString": "uint80" @@ -7449,76 +10168,120 @@ "visibility": "internal" } ], - "src": "10402:16:1" + "src": "11344:16:1" }, - "scope": 836, - "src": "10323:191:1", + "scope": 837, + "src": "11238:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 603, + "id": 604, "nodeType": "Block", - "src": "10614:95:1", + "src": "11584:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "11603:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11617:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "11638:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "11646:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11634:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11634:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11628:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "11628:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "11617:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 600, - "isOffset": false, - "isSlot": false, - "src": "10656:7:1", - "valueSize": 1 - } + "declaration": 598, + "isOffset": false, + "isSlot": false, + "src": "11638:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 597, - "isOffset": false, - "isSlot": false, - "src": "10677:6:1", - "valueSize": 1 - } + "declaration": 596, + "isOffset": false, + "isSlot": false, + "src": "11646:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 595, - "isOffset": false, - "isSlot": false, - "src": "10685:6:1", - "valueSize": 1 - } + "declaration": 601, + "isOffset": false, + "isSlot": false, + "src": "11617:7:1", + "valueSize": 1 } ], - "id": 602, + "id": 603, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "10633:76:1" + "src": "11594:70:1" } ] }, "documentation": null, - "id": 604, + "id": 605, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint88", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 598, + "id": 599, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 595, + "id": 596, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 604, - "src": "10541:11:1", + "overrides": null, + "scope": 605, + "src": "11480:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7526,10 +10289,10 @@ "typeString": "uint256" }, "typeName": { - "id": 594, - "name": "uint", + "id": 595, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10541:4:1", + "src": "11480:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7540,11 +10303,12 @@ }, { "constant": false, - "id": 597, + "id": 598, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 604, - "src": "10554:19:1", + "overrides": null, + "scope": 605, + "src": "11496:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7552,10 +10316,10 @@ "typeString": "bytes" }, "typeName": { - "id": 596, + "id": 597, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10554:5:1", + "src": "11496:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7565,20 +10329,20 @@ "visibility": "internal" } ], - "src": "10540:34:1" + "src": "11479:37:1" }, - "payable": false, "returnParameters": { - "id": 601, + "id": 602, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 600, + "id": 601, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 604, - "src": "10598:14:1", + "overrides": null, + "scope": 605, + "src": "11564:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7586,10 +10350,10 @@ "typeString": "uint88" }, "typeName": { - "id": 599, + "id": 600, "name": "uint88", "nodeType": "ElementaryTypeName", - "src": "10598:6:1", + "src": "11564:6:1", "typeDescriptions": { "typeIdentifier": "t_uint88", "typeString": "uint88" @@ -7599,76 +10363,120 @@ "visibility": "internal" } ], - "src": "10597:16:1" + "src": "11563:16:1" }, - "scope": 836, - "src": "10518:191:1", + "scope": 837, + "src": "11457:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 614, + "id": 615, "nodeType": "Block", - "src": "10809:95:1", + "src": "11803:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "11822:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11836:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "11857:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "11865:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11853:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11853:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11847:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "11847:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "11836:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 611, - "isOffset": false, - "isSlot": false, - "src": "10851:7:1", - "valueSize": 1 - } + "declaration": 609, + "isOffset": false, + "isSlot": false, + "src": "11857:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 608, - "isOffset": false, - "isSlot": false, - "src": "10872:6:1", - "valueSize": 1 - } + "declaration": 607, + "isOffset": false, + "isSlot": false, + "src": "11865:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 606, - "isOffset": false, - "isSlot": false, - "src": "10880:6:1", - "valueSize": 1 - } + "declaration": 612, + "isOffset": false, + "isSlot": false, + "src": "11836:7:1", + "valueSize": 1 } ], - "id": 613, + "id": 614, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "10828:76:1" + "src": "11813:70:1" } ] }, "documentation": null, - "id": 615, + "id": 616, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint96", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 609, + "id": 610, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 606, + "id": 607, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 615, - "src": "10736:11:1", + "overrides": null, + "scope": 616, + "src": "11699:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7676,10 +10484,10 @@ "typeString": "uint256" }, "typeName": { - "id": 605, - "name": "uint", + "id": 606, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10736:4:1", + "src": "11699:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7690,11 +10498,12 @@ }, { "constant": false, - "id": 608, + "id": 609, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 615, - "src": "10749:19:1", + "overrides": null, + "scope": 616, + "src": "11715:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7702,10 +10511,10 @@ "typeString": "bytes" }, "typeName": { - "id": 607, + "id": 608, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10749:5:1", + "src": "11715:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7715,20 +10524,20 @@ "visibility": "internal" } ], - "src": "10735:34:1" + "src": "11698:37:1" }, - "payable": false, "returnParameters": { - "id": 612, + "id": 613, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 611, + "id": 612, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 615, - "src": "10793:14:1", + "overrides": null, + "scope": 616, + "src": "11783:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7736,10 +10545,10 @@ "typeString": "uint96" }, "typeName": { - "id": 610, + "id": 611, "name": "uint96", "nodeType": "ElementaryTypeName", - "src": "10793:6:1", + "src": "11783:6:1", "typeDescriptions": { "typeIdentifier": "t_uint96", "typeString": "uint96" @@ -7749,76 +10558,120 @@ "visibility": "internal" } ], - "src": "10792:16:1" + "src": "11782:16:1" }, - "scope": 836, - "src": "10713:191:1", + "scope": 837, + "src": "11676:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 625, + "id": 626, "nodeType": "Block", - "src": "11007:95:1", + "src": "12024:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "12043:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12057:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "12078:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "12086:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12074:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12074:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12068:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "12068:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "12057:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 622, - "isOffset": false, - "isSlot": false, - "src": "11049:7:1", - "valueSize": 1 - } + "declaration": 620, + "isOffset": false, + "isSlot": false, + "src": "12078:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 619, - "isOffset": false, - "isSlot": false, - "src": "11070:6:1", - "valueSize": 1 - } + "declaration": 618, + "isOffset": false, + "isSlot": false, + "src": "12086:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 617, - "isOffset": false, - "isSlot": false, - "src": "11078:6:1", - "valueSize": 1 - } + "declaration": 623, + "isOffset": false, + "isSlot": false, + "src": "12057:7:1", + "valueSize": 1 } ], - "id": 624, + "id": 625, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "11026:76:1" + "src": "12034:70:1" } ] }, "documentation": null, - "id": 626, + "id": 627, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint104", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 620, + "id": 621, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 617, + "id": 618, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "10933:11:1", + "overrides": null, + "scope": 627, + "src": "11919:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7826,10 +10679,10 @@ "typeString": "uint256" }, "typeName": { - "id": 616, - "name": "uint", + "id": 617, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10933:4:1", + "src": "11919:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7840,11 +10693,12 @@ }, { "constant": false, - "id": 619, + "id": 620, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "10946:19:1", + "overrides": null, + "scope": 627, + "src": "11935:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7852,10 +10706,10 @@ "typeString": "bytes" }, "typeName": { - "id": 618, + "id": 619, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10946:5:1", + "src": "11935:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7865,20 +10719,20 @@ "visibility": "internal" } ], - "src": "10932:34:1" + "src": "11918:37:1" }, - "payable": false, "returnParameters": { - "id": 623, + "id": 624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 622, + "id": 623, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "10990:15:1", + "overrides": null, + "scope": 627, + "src": "12003:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7886,10 +10740,10 @@ "typeString": "uint104" }, "typeName": { - "id": 621, + "id": 622, "name": "uint104", "nodeType": "ElementaryTypeName", - "src": "10990:7:1", + "src": "12003:7:1", "typeDescriptions": { "typeIdentifier": "t_uint104", "typeString": "uint104" @@ -7899,76 +10753,120 @@ "visibility": "internal" } ], - "src": "10989:17:1" + "src": "12002:17:1" }, - "scope": 836, - "src": "10909:193:1", + "scope": 837, + "src": "11895:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 636, + "id": 637, "nodeType": "Block", - "src": "11207:95:1", + "src": "12245:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "12264:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12278:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "12299:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "12307:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12295:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12295:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12289:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "12289:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "12278:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 633, - "isOffset": false, - "isSlot": false, - "src": "11249:7:1", - "valueSize": 1 - } + "declaration": 631, + "isOffset": false, + "isSlot": false, + "src": "12299:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 630, - "isOffset": false, - "isSlot": false, - "src": "11270:6:1", - "valueSize": 1 - } + "declaration": 629, + "isOffset": false, + "isSlot": false, + "src": "12307:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 628, - "isOffset": false, - "isSlot": false, - "src": "11278:6:1", - "valueSize": 1 - } + "declaration": 634, + "isOffset": false, + "isSlot": false, + "src": "12278:7:1", + "valueSize": 1 } ], - "id": 635, + "id": 636, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "11226:76:1" + "src": "12255:70:1" } ] }, "documentation": null, - "id": 637, + "id": 638, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint112", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 631, + "id": 632, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 628, + "id": 629, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11133:11:1", + "overrides": null, + "scope": 638, + "src": "12140:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7976,10 +10874,10 @@ "typeString": "uint256" }, "typeName": { - "id": 627, - "name": "uint", + "id": 628, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11133:4:1", + "src": "12140:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7990,11 +10888,12 @@ }, { "constant": false, - "id": 630, + "id": 631, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11146:19:1", + "overrides": null, + "scope": 638, + "src": "12156:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8002,10 +10901,10 @@ "typeString": "bytes" }, "typeName": { - "id": 629, + "id": 630, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11146:5:1", + "src": "12156:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -8015,20 +10914,20 @@ "visibility": "internal" } ], - "src": "11132:34:1" + "src": "12139:37:1" }, - "payable": false, "returnParameters": { - "id": 634, + "id": 635, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 633, + "id": 634, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11190:15:1", + "overrides": null, + "scope": 638, + "src": "12224:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8036,10 +10935,10 @@ "typeString": "uint112" }, "typeName": { - "id": 632, + "id": 633, "name": "uint112", "nodeType": "ElementaryTypeName", - "src": "11190:7:1", + "src": "12224:7:1", "typeDescriptions": { "typeIdentifier": "t_uint112", "typeString": "uint112" @@ -8049,76 +10948,120 @@ "visibility": "internal" } ], - "src": "11189:17:1" + "src": "12223:17:1" }, - "scope": 836, - "src": "11109:193:1", + "scope": 837, + "src": "12116:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 647, + "id": 648, "nodeType": "Block", - "src": "11407:95:1", + "src": "12466:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "12485:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12499:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "12520:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "12528:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12516:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12516:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12510:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "12510:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "12499:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 644, - "isOffset": false, - "isSlot": false, - "src": "11449:7:1", - "valueSize": 1 - } + "declaration": 642, + "isOffset": false, + "isSlot": false, + "src": "12520:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 641, - "isOffset": false, - "isSlot": false, - "src": "11470:6:1", - "valueSize": 1 - } + "declaration": 640, + "isOffset": false, + "isSlot": false, + "src": "12528:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 639, - "isOffset": false, - "isSlot": false, - "src": "11478:6:1", - "valueSize": 1 - } + "declaration": 645, + "isOffset": false, + "isSlot": false, + "src": "12499:7:1", + "valueSize": 1 } ], - "id": 646, + "id": 647, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "11426:76:1" + "src": "12476:70:1" } ] }, "documentation": null, - "id": 648, + "id": 649, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint120", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 642, + "id": 643, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 639, + "id": 640, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 648, - "src": "11333:11:1", + "overrides": null, + "scope": 649, + "src": "12361:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8126,10 +11069,10 @@ "typeString": "uint256" }, "typeName": { - "id": 638, - "name": "uint", + "id": 639, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11333:4:1", + "src": "12361:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8140,11 +11083,12 @@ }, { "constant": false, - "id": 641, + "id": 642, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 648, - "src": "11346:19:1", + "overrides": null, + "scope": 649, + "src": "12377:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8152,10 +11096,10 @@ "typeString": "bytes" }, "typeName": { - "id": 640, + "id": 641, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11346:5:1", + "src": "12377:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -8165,20 +11109,20 @@ "visibility": "internal" } ], - "src": "11332:34:1" + "src": "12360:37:1" }, - "payable": false, "returnParameters": { - "id": 645, + "id": 646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 644, + "id": 645, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 648, - "src": "11390:15:1", + "overrides": null, + "scope": 649, + "src": "12445:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8186,10 +11130,10 @@ "typeString": "uint120" }, "typeName": { - "id": 643, + "id": 644, "name": "uint120", "nodeType": "ElementaryTypeName", - "src": "11390:7:1", + "src": "12445:7:1", "typeDescriptions": { "typeIdentifier": "t_uint120", "typeString": "uint120" @@ -8199,76 +11143,120 @@ "visibility": "internal" } ], - "src": "11389:17:1" + "src": "12444:17:1" }, - "scope": 836, - "src": "11309:193:1", + "scope": 837, + "src": "12337:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 658, + "id": 659, "nodeType": "Block", - "src": "11607:95:1", + "src": "12687:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "12706:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12720:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "12741:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "12749:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12737:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12737:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12731:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "12731:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "12720:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 655, - "isOffset": false, - "isSlot": false, - "src": "11649:7:1", - "valueSize": 1 - } + "declaration": 653, + "isOffset": false, + "isSlot": false, + "src": "12741:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 652, - "isOffset": false, - "isSlot": false, - "src": "11670:6:1", - "valueSize": 1 - } + "declaration": 651, + "isOffset": false, + "isSlot": false, + "src": "12749:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 650, - "isOffset": false, - "isSlot": false, - "src": "11678:6:1", - "valueSize": 1 - } + "declaration": 656, + "isOffset": false, + "isSlot": false, + "src": "12720:7:1", + "valueSize": 1 } ], - "id": 657, + "id": 658, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "11626:76:1" + "src": "12697:70:1" } ] }, "documentation": null, - "id": 659, + "id": 660, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint128", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 653, + "id": 654, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 650, + "id": 651, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 659, - "src": "11533:11:1", + "overrides": null, + "scope": 660, + "src": "12582:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8276,10 +11264,10 @@ "typeString": "uint256" }, "typeName": { - "id": 649, - "name": "uint", + "id": 650, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11533:4:1", + "src": "12582:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8290,11 +11278,12 @@ }, { "constant": false, - "id": 652, + "id": 653, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 659, - "src": "11546:19:1", + "overrides": null, + "scope": 660, + "src": "12598:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8302,10 +11291,10 @@ "typeString": "bytes" }, "typeName": { - "id": 651, + "id": 652, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11546:5:1", + "src": "12598:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -8315,20 +11304,20 @@ "visibility": "internal" } ], - "src": "11532:34:1" + "src": "12581:37:1" }, - "payable": false, "returnParameters": { - "id": 656, + "id": 657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 655, + "id": 656, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 659, - "src": "11590:15:1", + "overrides": null, + "scope": 660, + "src": "12666:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8336,10 +11325,10 @@ "typeString": "uint128" }, "typeName": { - "id": 654, + "id": 655, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "11590:7:1", + "src": "12666:7:1", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -8349,76 +11338,120 @@ "visibility": "internal" } ], - "src": "11589:17:1" + "src": "12665:17:1" }, - "scope": 836, - "src": "11509:193:1", + "scope": 837, + "src": "12558:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 669, + "id": 670, "nodeType": "Block", - "src": "11807:95:1", + "src": "12908:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "12927:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12941:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "12962:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "12970:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12958:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12958:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12952:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "12952:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "12941:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 666, - "isOffset": false, - "isSlot": false, - "src": "11849:7:1", - "valueSize": 1 - } + "declaration": 664, + "isOffset": false, + "isSlot": false, + "src": "12962:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "11870:6:1", - "valueSize": 1 - } + "declaration": 662, + "isOffset": false, + "isSlot": false, + "src": "12970:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 661, - "isOffset": false, - "isSlot": false, - "src": "11878:6:1", - "valueSize": 1 - } + "declaration": 667, + "isOffset": false, + "isSlot": false, + "src": "12941:7:1", + "valueSize": 1 } ], - "id": 668, + "id": 669, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "11826:76:1" + "src": "12918:70:1" } ] }, "documentation": null, - "id": 670, + "id": 671, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint136", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 664, + "id": 665, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 661, + "id": 662, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 670, - "src": "11733:11:1", + "overrides": null, + "scope": 671, + "src": "12803:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8426,10 +11459,10 @@ "typeString": "uint256" }, "typeName": { - "id": 660, - "name": "uint", + "id": 661, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11733:4:1", + "src": "12803:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8440,11 +11473,12 @@ }, { "constant": false, - "id": 663, + "id": 664, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 670, - "src": "11746:19:1", + "overrides": null, + "scope": 671, + "src": "12819:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8452,10 +11486,10 @@ "typeString": "bytes" }, "typeName": { - "id": 662, + "id": 663, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11746:5:1", + "src": "12819:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -8465,20 +11499,20 @@ "visibility": "internal" } ], - "src": "11732:34:1" + "src": "12802:37:1" }, - "payable": false, "returnParameters": { - "id": 667, + "id": 668, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 666, + "id": 667, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 670, - "src": "11790:15:1", + "overrides": null, + "scope": 671, + "src": "12887:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8486,10 +11520,10 @@ "typeString": "uint136" }, "typeName": { - "id": 665, + "id": 666, "name": "uint136", "nodeType": "ElementaryTypeName", - "src": "11790:7:1", + "src": "12887:7:1", "typeDescriptions": { "typeIdentifier": "t_uint136", "typeString": "uint136" @@ -8499,76 +11533,120 @@ "visibility": "internal" } ], - "src": "11789:17:1" + "src": "12886:17:1" }, - "scope": 836, - "src": "11709:193:1", + "scope": 837, + "src": "12779:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 680, + "id": 681, "nodeType": "Block", - "src": "12007:95:1", + "src": "13129:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "13148:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13162:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "13183:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "13191:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13179:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "13179:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13173:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "13173:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "13162:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 677, - "isOffset": false, - "isSlot": false, - "src": "12049:7:1", - "valueSize": 1 - } + "declaration": 675, + "isOffset": false, + "isSlot": false, + "src": "13183:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 674, - "isOffset": false, - "isSlot": false, - "src": "12070:6:1", - "valueSize": 1 - } + "declaration": 673, + "isOffset": false, + "isSlot": false, + "src": "13191:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 672, - "isOffset": false, - "isSlot": false, - "src": "12078:6:1", - "valueSize": 1 - } + "declaration": 678, + "isOffset": false, + "isSlot": false, + "src": "13162:7:1", + "valueSize": 1 } ], - "id": 679, + "id": 680, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "12026:76:1" + "src": "13139:70:1" } ] }, "documentation": null, - "id": 681, + "id": 682, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint144", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 675, + "id": 676, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 672, + "id": 673, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 681, - "src": "11933:11:1", + "overrides": null, + "scope": 682, + "src": "13024:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8576,10 +11654,10 @@ "typeString": "uint256" }, "typeName": { - "id": 671, - "name": "uint", + "id": 672, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11933:4:1", + "src": "13024:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8590,11 +11668,12 @@ }, { "constant": false, - "id": 674, + "id": 675, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 681, - "src": "11946:19:1", + "overrides": null, + "scope": 682, + "src": "13040:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8602,10 +11681,10 @@ "typeString": "bytes" }, "typeName": { - "id": 673, + "id": 674, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11946:5:1", + "src": "13040:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -8615,20 +11694,20 @@ "visibility": "internal" } ], - "src": "11932:34:1" + "src": "13023:37:1" }, - "payable": false, "returnParameters": { - "id": 678, + "id": 679, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 677, + "id": 678, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 681, - "src": "11990:15:1", + "overrides": null, + "scope": 682, + "src": "13108:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8636,10 +11715,10 @@ "typeString": "uint144" }, "typeName": { - "id": 676, + "id": 677, "name": "uint144", "nodeType": "ElementaryTypeName", - "src": "11990:7:1", + "src": "13108:7:1", "typeDescriptions": { "typeIdentifier": "t_uint144", "typeString": "uint144" @@ -8649,76 +11728,120 @@ "visibility": "internal" } ], - "src": "11989:17:1" + "src": "13107:17:1" }, - "scope": 836, - "src": "11909:193:1", + "scope": 837, + "src": "13000:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 691, + "id": 692, "nodeType": "Block", - "src": "12207:95:1", + "src": "13350:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "13369:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13383:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "13404:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "13412:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13400:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "13400:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13394:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "13394:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "13383:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 688, - "isOffset": false, - "isSlot": false, - "src": "12249:7:1", - "valueSize": 1 - } + "declaration": 686, + "isOffset": false, + "isSlot": false, + "src": "13404:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 685, - "isOffset": false, - "isSlot": false, - "src": "12270:6:1", - "valueSize": 1 - } + "declaration": 684, + "isOffset": false, + "isSlot": false, + "src": "13412:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 683, - "isOffset": false, - "isSlot": false, - "src": "12278:6:1", - "valueSize": 1 - } + "declaration": 689, + "isOffset": false, + "isSlot": false, + "src": "13383:7:1", + "valueSize": 1 } ], - "id": 690, + "id": 691, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "12226:76:1" + "src": "13360:70:1" } ] }, "documentation": null, - "id": 692, + "id": 693, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint152", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 686, + "id": 687, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 683, + "id": 684, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 692, - "src": "12133:11:1", + "overrides": null, + "scope": 693, + "src": "13245:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8726,10 +11849,10 @@ "typeString": "uint256" }, "typeName": { - "id": 682, - "name": "uint", + "id": 683, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12133:4:1", + "src": "13245:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8740,11 +11863,12 @@ }, { "constant": false, - "id": 685, + "id": 686, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 692, - "src": "12146:19:1", + "overrides": null, + "scope": 693, + "src": "13261:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8752,10 +11876,10 @@ "typeString": "bytes" }, "typeName": { - "id": 684, + "id": 685, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12146:5:1", + "src": "13261:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -8765,20 +11889,20 @@ "visibility": "internal" } ], - "src": "12132:34:1" + "src": "13244:37:1" }, - "payable": false, "returnParameters": { - "id": 689, + "id": 690, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 688, + "id": 689, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 692, - "src": "12190:15:1", + "overrides": null, + "scope": 693, + "src": "13329:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8786,10 +11910,10 @@ "typeString": "uint152" }, "typeName": { - "id": 687, + "id": 688, "name": "uint152", "nodeType": "ElementaryTypeName", - "src": "12190:7:1", + "src": "13329:7:1", "typeDescriptions": { "typeIdentifier": "t_uint152", "typeString": "uint152" @@ -8799,76 +11923,120 @@ "visibility": "internal" } ], - "src": "12189:17:1" + "src": "13328:17:1" }, - "scope": 836, - "src": "12109:193:1", + "scope": 837, + "src": "13221:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 702, + "id": 703, "nodeType": "Block", - "src": "12407:95:1", + "src": "13571:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "13590:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13604:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "13625:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "13633:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13621:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "13621:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13615:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "13615:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "13604:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 699, - "isOffset": false, - "isSlot": false, - "src": "12449:7:1", - "valueSize": 1 - } + "declaration": 697, + "isOffset": false, + "isSlot": false, + "src": "13625:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 696, - "isOffset": false, - "isSlot": false, - "src": "12470:6:1", - "valueSize": 1 - } + "declaration": 695, + "isOffset": false, + "isSlot": false, + "src": "13633:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 694, - "isOffset": false, - "isSlot": false, - "src": "12478:6:1", - "valueSize": 1 - } + "declaration": 700, + "isOffset": false, + "isSlot": false, + "src": "13604:7:1", + "valueSize": 1 } ], - "id": 701, + "id": 702, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "12426:76:1" + "src": "13581:70:1" } ] }, "documentation": null, - "id": 703, + "id": 704, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint160", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 697, + "id": 698, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 694, + "id": 695, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 703, - "src": "12333:11:1", + "overrides": null, + "scope": 704, + "src": "13466:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8876,10 +12044,10 @@ "typeString": "uint256" }, "typeName": { - "id": 693, - "name": "uint", + "id": 694, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12333:4:1", + "src": "13466:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8890,11 +12058,12 @@ }, { "constant": false, - "id": 696, + "id": 697, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 703, - "src": "12346:19:1", + "overrides": null, + "scope": 704, + "src": "13482:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8902,10 +12071,10 @@ "typeString": "bytes" }, "typeName": { - "id": 695, + "id": 696, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12346:5:1", + "src": "13482:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -8915,20 +12084,20 @@ "visibility": "internal" } ], - "src": "12332:34:1" + "src": "13465:37:1" }, - "payable": false, "returnParameters": { - "id": 700, + "id": 701, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 699, + "id": 700, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 703, - "src": "12390:15:1", + "overrides": null, + "scope": 704, + "src": "13550:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8936,10 +12105,10 @@ "typeString": "uint160" }, "typeName": { - "id": 698, + "id": 699, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "12390:7:1", + "src": "13550:7:1", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -8949,76 +12118,120 @@ "visibility": "internal" } ], - "src": "12389:17:1" + "src": "13549:17:1" }, - "scope": 836, - "src": "12309:193:1", + "scope": 837, + "src": "13442:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 713, + "id": 714, "nodeType": "Block", - "src": "12607:95:1", + "src": "13792:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "13811:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13825:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "13846:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "13854:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13842:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "13842:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13836:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "13836:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "13825:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 710, - "isOffset": false, - "isSlot": false, - "src": "12649:7:1", - "valueSize": 1 - } + "declaration": 708, + "isOffset": false, + "isSlot": false, + "src": "13846:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 707, - "isOffset": false, - "isSlot": false, - "src": "12670:6:1", - "valueSize": 1 - } + "declaration": 706, + "isOffset": false, + "isSlot": false, + "src": "13854:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 705, - "isOffset": false, - "isSlot": false, - "src": "12678:6:1", - "valueSize": 1 - } + "declaration": 711, + "isOffset": false, + "isSlot": false, + "src": "13825:7:1", + "valueSize": 1 } ], - "id": 712, + "id": 713, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "12626:76:1" + "src": "13802:70:1" } ] }, "documentation": null, - "id": 714, + "id": 715, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint168", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 708, + "id": 709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 705, + "id": 706, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "12533:11:1", + "overrides": null, + "scope": 715, + "src": "13687:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9026,10 +12239,10 @@ "typeString": "uint256" }, "typeName": { - "id": 704, - "name": "uint", + "id": 705, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12533:4:1", + "src": "13687:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9040,11 +12253,12 @@ }, { "constant": false, - "id": 707, + "id": 708, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "12546:19:1", + "overrides": null, + "scope": 715, + "src": "13703:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9052,10 +12266,10 @@ "typeString": "bytes" }, "typeName": { - "id": 706, + "id": 707, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12546:5:1", + "src": "13703:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -9065,20 +12279,20 @@ "visibility": "internal" } ], - "src": "12532:34:1" + "src": "13686:37:1" }, - "payable": false, "returnParameters": { - "id": 711, + "id": 712, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 710, + "id": 711, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "12590:15:1", + "overrides": null, + "scope": 715, + "src": "13771:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9086,10 +12300,10 @@ "typeString": "uint168" }, "typeName": { - "id": 709, + "id": 710, "name": "uint168", "nodeType": "ElementaryTypeName", - "src": "12590:7:1", + "src": "13771:7:1", "typeDescriptions": { "typeIdentifier": "t_uint168", "typeString": "uint168" @@ -9099,76 +12313,120 @@ "visibility": "internal" } ], - "src": "12589:17:1" + "src": "13770:17:1" }, - "scope": 836, - "src": "12509:193:1", + "scope": 837, + "src": "13663:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 724, + "id": 725, "nodeType": "Block", - "src": "12807:95:1", + "src": "14013:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "14032:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14046:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "14067:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "14075:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14063:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "14063:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14057:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "14057:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "14046:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 721, - "isOffset": false, - "isSlot": false, - "src": "12849:7:1", - "valueSize": 1 - } + "declaration": 719, + "isOffset": false, + "isSlot": false, + "src": "14067:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 718, - "isOffset": false, - "isSlot": false, - "src": "12870:6:1", - "valueSize": 1 - } + "declaration": 717, + "isOffset": false, + "isSlot": false, + "src": "14075:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 716, - "isOffset": false, - "isSlot": false, - "src": "12878:6:1", - "valueSize": 1 - } + "declaration": 722, + "isOffset": false, + "isSlot": false, + "src": "14046:7:1", + "valueSize": 1 } ], - "id": 723, + "id": 724, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "12826:76:1" + "src": "14023:70:1" } ] }, "documentation": null, - "id": 725, + "id": 726, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint176", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 719, + "id": 720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 716, + "id": 717, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 725, - "src": "12733:11:1", + "overrides": null, + "scope": 726, + "src": "13908:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9176,10 +12434,10 @@ "typeString": "uint256" }, "typeName": { - "id": 715, - "name": "uint", + "id": 716, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12733:4:1", + "src": "13908:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9190,11 +12448,12 @@ }, { "constant": false, - "id": 718, + "id": 719, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 725, - "src": "12746:19:1", + "overrides": null, + "scope": 726, + "src": "13924:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9202,10 +12461,10 @@ "typeString": "bytes" }, "typeName": { - "id": 717, + "id": 718, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12746:5:1", + "src": "13924:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -9215,20 +12474,20 @@ "visibility": "internal" } ], - "src": "12732:34:1" + "src": "13907:37:1" }, - "payable": false, "returnParameters": { - "id": 722, + "id": 723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 721, + "id": 722, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 725, - "src": "12790:15:1", + "overrides": null, + "scope": 726, + "src": "13992:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9236,10 +12495,10 @@ "typeString": "uint176" }, "typeName": { - "id": 720, + "id": 721, "name": "uint176", "nodeType": "ElementaryTypeName", - "src": "12790:7:1", + "src": "13992:7:1", "typeDescriptions": { "typeIdentifier": "t_uint176", "typeString": "uint176" @@ -9249,76 +12508,120 @@ "visibility": "internal" } ], - "src": "12789:17:1" + "src": "13991:17:1" }, - "scope": 836, - "src": "12709:193:1", + "scope": 837, + "src": "13884:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 735, + "id": 736, "nodeType": "Block", - "src": "13007:95:1", + "src": "14234:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "14253:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14267:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "14288:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "14296:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14284:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "14284:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14278:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "14278:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "14267:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 732, - "isOffset": false, - "isSlot": false, - "src": "13049:7:1", - "valueSize": 1 - } + "declaration": 730, + "isOffset": false, + "isSlot": false, + "src": "14288:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 729, - "isOffset": false, - "isSlot": false, - "src": "13070:6:1", - "valueSize": 1 - } + "declaration": 728, + "isOffset": false, + "isSlot": false, + "src": "14296:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 727, - "isOffset": false, - "isSlot": false, - "src": "13078:6:1", - "valueSize": 1 - } + "declaration": 733, + "isOffset": false, + "isSlot": false, + "src": "14267:7:1", + "valueSize": 1 } ], - "id": 734, + "id": 735, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "13026:76:1" + "src": "14244:70:1" } ] }, "documentation": null, - "id": 736, + "id": 737, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint184", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 730, + "id": 731, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 727, + "id": 728, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 736, - "src": "12933:11:1", + "overrides": null, + "scope": 737, + "src": "14129:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9326,10 +12629,10 @@ "typeString": "uint256" }, "typeName": { - "id": 726, - "name": "uint", + "id": 727, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12933:4:1", + "src": "14129:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9340,11 +12643,12 @@ }, { "constant": false, - "id": 729, + "id": 730, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 736, - "src": "12946:19:1", + "overrides": null, + "scope": 737, + "src": "14145:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9352,10 +12656,10 @@ "typeString": "bytes" }, "typeName": { - "id": 728, + "id": 729, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12946:5:1", + "src": "14145:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -9365,20 +12669,20 @@ "visibility": "internal" } ], - "src": "12932:34:1" + "src": "14128:37:1" }, - "payable": false, "returnParameters": { - "id": 733, + "id": 734, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 732, + "id": 733, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 736, - "src": "12990:15:1", + "overrides": null, + "scope": 737, + "src": "14213:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9386,10 +12690,10 @@ "typeString": "uint184" }, "typeName": { - "id": 731, + "id": 732, "name": "uint184", "nodeType": "ElementaryTypeName", - "src": "12990:7:1", + "src": "14213:7:1", "typeDescriptions": { "typeIdentifier": "t_uint184", "typeString": "uint184" @@ -9399,76 +12703,120 @@ "visibility": "internal" } ], - "src": "12989:17:1" + "src": "14212:17:1" }, - "scope": 836, - "src": "12909:193:1", + "scope": 837, + "src": "14105:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 746, + "id": 747, "nodeType": "Block", - "src": "13207:95:1", + "src": "14455:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "14474:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14488:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "14509:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "14517:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14505:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "14505:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14499:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "14499:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "14488:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 743, - "isOffset": false, - "isSlot": false, - "src": "13249:7:1", - "valueSize": 1 - } + "declaration": 741, + "isOffset": false, + "isSlot": false, + "src": "14509:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 740, - "isOffset": false, - "isSlot": false, - "src": "13270:6:1", - "valueSize": 1 - } + "declaration": 739, + "isOffset": false, + "isSlot": false, + "src": "14517:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 738, - "isOffset": false, - "isSlot": false, - "src": "13278:6:1", - "valueSize": 1 - } + "declaration": 744, + "isOffset": false, + "isSlot": false, + "src": "14488:7:1", + "valueSize": 1 } ], - "id": 745, + "id": 746, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "13226:76:1" + "src": "14465:70:1" } ] }, "documentation": null, - "id": 747, + "id": 748, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint192", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 741, + "id": 742, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 738, + "id": 739, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "13133:11:1", + "overrides": null, + "scope": 748, + "src": "14350:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9476,10 +12824,10 @@ "typeString": "uint256" }, "typeName": { - "id": 737, - "name": "uint", + "id": 738, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13133:4:1", + "src": "14350:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9490,11 +12838,12 @@ }, { "constant": false, - "id": 740, + "id": 741, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "13146:19:1", + "overrides": null, + "scope": 748, + "src": "14366:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9502,10 +12851,10 @@ "typeString": "bytes" }, "typeName": { - "id": 739, + "id": 740, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13146:5:1", + "src": "14366:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -9515,20 +12864,20 @@ "visibility": "internal" } ], - "src": "13132:34:1" + "src": "14349:37:1" }, - "payable": false, "returnParameters": { - "id": 744, + "id": 745, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 743, + "id": 744, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "13190:15:1", + "overrides": null, + "scope": 748, + "src": "14434:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9536,10 +12885,10 @@ "typeString": "uint192" }, "typeName": { - "id": 742, + "id": 743, "name": "uint192", "nodeType": "ElementaryTypeName", - "src": "13190:7:1", + "src": "14434:7:1", "typeDescriptions": { "typeIdentifier": "t_uint192", "typeString": "uint192" @@ -9549,76 +12898,120 @@ "visibility": "internal" } ], - "src": "13189:17:1" + "src": "14433:17:1" }, - "scope": 836, - "src": "13109:193:1", + "scope": 837, + "src": "14326:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 757, + "id": 758, "nodeType": "Block", - "src": "13407:95:1", + "src": "14676:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "14695:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14709:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "14730:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "14738:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14726:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "14726:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14720:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "14720:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "14709:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 754, - "isOffset": false, - "isSlot": false, - "src": "13449:7:1", - "valueSize": 1 - } + "declaration": 752, + "isOffset": false, + "isSlot": false, + "src": "14730:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 751, - "isOffset": false, - "isSlot": false, - "src": "13470:6:1", - "valueSize": 1 - } + "declaration": 750, + "isOffset": false, + "isSlot": false, + "src": "14738:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 749, - "isOffset": false, - "isSlot": false, - "src": "13478:6:1", - "valueSize": 1 - } + "declaration": 755, + "isOffset": false, + "isSlot": false, + "src": "14709:7:1", + "valueSize": 1 } ], - "id": 756, + "id": 757, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "13426:76:1" + "src": "14686:70:1" } ] }, "documentation": null, - "id": 758, + "id": 759, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint200", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 752, + "id": 753, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 749, + "id": 750, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 758, - "src": "13333:11:1", + "overrides": null, + "scope": 759, + "src": "14571:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9626,10 +13019,10 @@ "typeString": "uint256" }, "typeName": { - "id": 748, - "name": "uint", + "id": 749, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13333:4:1", + "src": "14571:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9640,11 +13033,12 @@ }, { "constant": false, - "id": 751, + "id": 752, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 758, - "src": "13346:19:1", + "overrides": null, + "scope": 759, + "src": "14587:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9652,10 +13046,10 @@ "typeString": "bytes" }, "typeName": { - "id": 750, + "id": 751, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13346:5:1", + "src": "14587:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -9665,20 +13059,20 @@ "visibility": "internal" } ], - "src": "13332:34:1" + "src": "14570:37:1" }, - "payable": false, "returnParameters": { - "id": 755, + "id": 756, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 754, + "id": 755, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 758, - "src": "13390:15:1", + "overrides": null, + "scope": 759, + "src": "14655:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9686,10 +13080,10 @@ "typeString": "uint200" }, "typeName": { - "id": 753, + "id": 754, "name": "uint200", "nodeType": "ElementaryTypeName", - "src": "13390:7:1", + "src": "14655:7:1", "typeDescriptions": { "typeIdentifier": "t_uint200", "typeString": "uint200" @@ -9699,76 +13093,120 @@ "visibility": "internal" } ], - "src": "13389:17:1" + "src": "14654:17:1" }, - "scope": 836, - "src": "13309:193:1", + "scope": 837, + "src": "14547:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 768, + "id": 769, "nodeType": "Block", - "src": "13607:95:1", + "src": "14897:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "14916:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14930:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "14951:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "14959:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14947:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "14947:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14941:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "14941:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "14930:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 765, - "isOffset": false, - "isSlot": false, - "src": "13649:7:1", - "valueSize": 1 - } + "declaration": 763, + "isOffset": false, + "isSlot": false, + "src": "14951:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 762, - "isOffset": false, - "isSlot": false, - "src": "13670:6:1", - "valueSize": 1 - } + "declaration": 761, + "isOffset": false, + "isSlot": false, + "src": "14959:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 760, - "isOffset": false, - "isSlot": false, - "src": "13678:6:1", - "valueSize": 1 - } + "declaration": 766, + "isOffset": false, + "isSlot": false, + "src": "14930:7:1", + "valueSize": 1 } ], - "id": 767, + "id": 768, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "13626:76:1" + "src": "14907:70:1" } ] }, "documentation": null, - "id": 769, + "id": 770, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint208", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 763, + "id": 764, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 760, + "id": 761, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 769, - "src": "13533:11:1", + "overrides": null, + "scope": 770, + "src": "14792:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9776,10 +13214,10 @@ "typeString": "uint256" }, "typeName": { - "id": 759, - "name": "uint", + "id": 760, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13533:4:1", + "src": "14792:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9790,11 +13228,12 @@ }, { "constant": false, - "id": 762, + "id": 763, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 769, - "src": "13546:19:1", + "overrides": null, + "scope": 770, + "src": "14808:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9802,10 +13241,10 @@ "typeString": "bytes" }, "typeName": { - "id": 761, + "id": 762, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13546:5:1", + "src": "14808:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -9815,20 +13254,20 @@ "visibility": "internal" } ], - "src": "13532:34:1" + "src": "14791:37:1" }, - "payable": false, "returnParameters": { - "id": 766, + "id": 767, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 765, + "id": 766, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 769, - "src": "13590:15:1", + "overrides": null, + "scope": 770, + "src": "14876:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9836,10 +13275,10 @@ "typeString": "uint208" }, "typeName": { - "id": 764, + "id": 765, "name": "uint208", "nodeType": "ElementaryTypeName", - "src": "13590:7:1", + "src": "14876:7:1", "typeDescriptions": { "typeIdentifier": "t_uint208", "typeString": "uint208" @@ -9849,76 +13288,120 @@ "visibility": "internal" } ], - "src": "13589:17:1" + "src": "14875:17:1" }, - "scope": 836, - "src": "13509:193:1", + "scope": 837, + "src": "14768:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 779, + "id": 780, "nodeType": "Block", - "src": "13807:95:1", + "src": "15118:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "15137:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15151:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "15172:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "15180:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15168:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15168:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15162:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "15162:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "15151:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 776, - "isOffset": false, - "isSlot": false, - "src": "13849:7:1", - "valueSize": 1 - } + "declaration": 774, + "isOffset": false, + "isSlot": false, + "src": "15172:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 773, - "isOffset": false, - "isSlot": false, - "src": "13870:6:1", - "valueSize": 1 - } + "declaration": 772, + "isOffset": false, + "isSlot": false, + "src": "15180:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 771, - "isOffset": false, - "isSlot": false, - "src": "13878:6:1", - "valueSize": 1 - } + "declaration": 777, + "isOffset": false, + "isSlot": false, + "src": "15151:7:1", + "valueSize": 1 } ], - "id": 778, + "id": 779, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "13826:76:1" + "src": "15128:70:1" } ] }, "documentation": null, - "id": 780, + "id": 781, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint216", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 774, + "id": 775, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 771, + "id": 772, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 780, - "src": "13733:11:1", + "overrides": null, + "scope": 781, + "src": "15013:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9926,10 +13409,10 @@ "typeString": "uint256" }, "typeName": { - "id": 770, - "name": "uint", + "id": 771, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13733:4:1", + "src": "15013:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9940,11 +13423,12 @@ }, { "constant": false, - "id": 773, + "id": 774, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 780, - "src": "13746:19:1", + "overrides": null, + "scope": 781, + "src": "15029:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9952,10 +13436,10 @@ "typeString": "bytes" }, "typeName": { - "id": 772, + "id": 773, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13746:5:1", + "src": "15029:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -9965,20 +13449,20 @@ "visibility": "internal" } ], - "src": "13732:34:1" + "src": "15012:37:1" }, - "payable": false, "returnParameters": { - "id": 777, + "id": 778, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 776, + "id": 777, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 780, - "src": "13790:15:1", + "overrides": null, + "scope": 781, + "src": "15097:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9986,10 +13470,10 @@ "typeString": "uint216" }, "typeName": { - "id": 775, + "id": 776, "name": "uint216", "nodeType": "ElementaryTypeName", - "src": "13790:7:1", + "src": "15097:7:1", "typeDescriptions": { "typeIdentifier": "t_uint216", "typeString": "uint216" @@ -9999,76 +13483,120 @@ "visibility": "internal" } ], - "src": "13789:17:1" + "src": "15096:17:1" }, - "scope": 836, - "src": "13709:193:1", + "scope": 837, + "src": "14989:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 790, + "id": 791, "nodeType": "Block", - "src": "14007:95:1", + "src": "15339:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "15358:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15372:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "15393:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "15401:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15389:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15389:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15383:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "15383:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "15372:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 787, - "isOffset": false, - "isSlot": false, - "src": "14049:7:1", - "valueSize": 1 - } + "declaration": 785, + "isOffset": false, + "isSlot": false, + "src": "15393:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 784, - "isOffset": false, - "isSlot": false, - "src": "14070:6:1", - "valueSize": 1 - } + "declaration": 783, + "isOffset": false, + "isSlot": false, + "src": "15401:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 782, - "isOffset": false, - "isSlot": false, - "src": "14078:6:1", - "valueSize": 1 - } + "declaration": 788, + "isOffset": false, + "isSlot": false, + "src": "15372:7:1", + "valueSize": 1 } ], - "id": 789, + "id": 790, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "14026:76:1" + "src": "15349:70:1" } ] }, "documentation": null, - "id": 791, + "id": 792, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint224", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 785, + "id": 786, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 782, + "id": 783, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 791, - "src": "13933:11:1", + "overrides": null, + "scope": 792, + "src": "15234:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10076,10 +13604,10 @@ "typeString": "uint256" }, "typeName": { - "id": 781, - "name": "uint", + "id": 782, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13933:4:1", + "src": "15234:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10090,11 +13618,12 @@ }, { "constant": false, - "id": 784, + "id": 785, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 791, - "src": "13946:19:1", + "overrides": null, + "scope": 792, + "src": "15250:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -10102,10 +13631,10 @@ "typeString": "bytes" }, "typeName": { - "id": 783, + "id": 784, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13946:5:1", + "src": "15250:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -10115,20 +13644,20 @@ "visibility": "internal" } ], - "src": "13932:34:1" + "src": "15233:37:1" }, - "payable": false, "returnParameters": { - "id": 788, + "id": 789, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 787, + "id": 788, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 791, - "src": "13990:15:1", + "overrides": null, + "scope": 792, + "src": "15318:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10136,10 +13665,10 @@ "typeString": "uint224" }, "typeName": { - "id": 786, + "id": 787, "name": "uint224", "nodeType": "ElementaryTypeName", - "src": "13990:7:1", + "src": "15318:7:1", "typeDescriptions": { "typeIdentifier": "t_uint224", "typeString": "uint224" @@ -10149,76 +13678,120 @@ "visibility": "internal" } ], - "src": "13989:17:1" + "src": "15317:17:1" }, - "scope": 836, - "src": "13909:193:1", + "scope": 837, + "src": "15210:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 801, + "id": 802, "nodeType": "Block", - "src": "14207:95:1", + "src": "15560:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "15579:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15593:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "15614:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "15622:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15610:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15610:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15604:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "15604:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "15593:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 798, - "isOffset": false, - "isSlot": false, - "src": "14249:7:1", - "valueSize": 1 - } + "declaration": 796, + "isOffset": false, + "isSlot": false, + "src": "15614:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 795, - "isOffset": false, - "isSlot": false, - "src": "14270:6:1", - "valueSize": 1 - } + "declaration": 794, + "isOffset": false, + "isSlot": false, + "src": "15622:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 793, - "isOffset": false, - "isSlot": false, - "src": "14278:6:1", - "valueSize": 1 - } + "declaration": 799, + "isOffset": false, + "isSlot": false, + "src": "15593:7:1", + "valueSize": 1 } ], - "id": 800, + "id": 801, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "14226:76:1" + "src": "15570:70:1" } ] }, "documentation": null, - "id": 802, + "id": 803, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint232", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 796, + "id": 797, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 793, + "id": 794, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 802, - "src": "14133:11:1", + "overrides": null, + "scope": 803, + "src": "15455:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10226,10 +13799,10 @@ "typeString": "uint256" }, "typeName": { - "id": 792, - "name": "uint", + "id": 793, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14133:4:1", + "src": "15455:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10240,11 +13813,12 @@ }, { "constant": false, - "id": 795, + "id": 796, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 802, - "src": "14146:19:1", + "overrides": null, + "scope": 803, + "src": "15471:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -10252,10 +13826,10 @@ "typeString": "bytes" }, "typeName": { - "id": 794, + "id": 795, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14146:5:1", + "src": "15471:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -10265,20 +13839,20 @@ "visibility": "internal" } ], - "src": "14132:34:1" + "src": "15454:37:1" }, - "payable": false, "returnParameters": { - "id": 799, + "id": 800, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 798, + "id": 799, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 802, - "src": "14190:15:1", + "overrides": null, + "scope": 803, + "src": "15539:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10286,10 +13860,10 @@ "typeString": "uint232" }, "typeName": { - "id": 797, + "id": 798, "name": "uint232", "nodeType": "ElementaryTypeName", - "src": "14190:7:1", + "src": "15539:7:1", "typeDescriptions": { "typeIdentifier": "t_uint232", "typeString": "uint232" @@ -10299,76 +13873,120 @@ "visibility": "internal" } ], - "src": "14189:17:1" + "src": "15538:17:1" }, - "scope": 836, - "src": "14109:193:1", + "scope": 837, + "src": "15431:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 812, + "id": 813, "nodeType": "Block", - "src": "14407:95:1", + "src": "15781:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "15800:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15814:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "15835:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "15843:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15831:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15831:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15825:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "15825:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "15814:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 809, - "isOffset": false, - "isSlot": false, - "src": "14449:7:1", - "valueSize": 1 - } + "declaration": 807, + "isOffset": false, + "isSlot": false, + "src": "15835:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 806, - "isOffset": false, - "isSlot": false, - "src": "14470:6:1", - "valueSize": 1 - } + "declaration": 805, + "isOffset": false, + "isSlot": false, + "src": "15843:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 804, - "isOffset": false, - "isSlot": false, - "src": "14478:6:1", - "valueSize": 1 - } + "declaration": 810, + "isOffset": false, + "isSlot": false, + "src": "15814:7:1", + "valueSize": 1 } ], - "id": 811, + "id": 812, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "14426:76:1" + "src": "15791:70:1" } ] }, "documentation": null, - "id": 813, + "id": 814, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint240", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 807, + "id": 808, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 804, + "id": 805, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 813, - "src": "14333:11:1", + "overrides": null, + "scope": 814, + "src": "15676:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10376,10 +13994,10 @@ "typeString": "uint256" }, "typeName": { - "id": 803, - "name": "uint", + "id": 804, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14333:4:1", + "src": "15676:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10390,11 +14008,12 @@ }, { "constant": false, - "id": 806, + "id": 807, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 813, - "src": "14346:19:1", + "overrides": null, + "scope": 814, + "src": "15692:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -10402,10 +14021,10 @@ "typeString": "bytes" }, "typeName": { - "id": 805, + "id": 806, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14346:5:1", + "src": "15692:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -10415,20 +14034,20 @@ "visibility": "internal" } ], - "src": "14332:34:1" + "src": "15675:37:1" }, - "payable": false, "returnParameters": { - "id": 810, + "id": 811, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 809, + "id": 810, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 813, - "src": "14390:15:1", + "overrides": null, + "scope": 814, + "src": "15760:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10436,10 +14055,10 @@ "typeString": "uint240" }, "typeName": { - "id": 808, + "id": 809, "name": "uint240", "nodeType": "ElementaryTypeName", - "src": "14390:7:1", + "src": "15760:7:1", "typeDescriptions": { "typeIdentifier": "t_uint240", "typeString": "uint240" @@ -10449,76 +14068,120 @@ "visibility": "internal" } ], - "src": "14389:17:1" + "src": "15759:17:1" }, - "scope": 836, - "src": "14309:193:1", + "scope": 837, + "src": "15652:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 823, + "id": 824, "nodeType": "Block", - "src": "14607:95:1", + "src": "16002:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "16021:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16035:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "16056:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "16064:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16052:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "16052:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "16046:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "16046:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "16035:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 820, - "isOffset": false, - "isSlot": false, - "src": "14649:7:1", - "valueSize": 1 - } + "declaration": 818, + "isOffset": false, + "isSlot": false, + "src": "16056:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 817, - "isOffset": false, - "isSlot": false, - "src": "14670:6:1", - "valueSize": 1 - } + "declaration": 816, + "isOffset": false, + "isSlot": false, + "src": "16064:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 815, - "isOffset": false, - "isSlot": false, - "src": "14678:6:1", - "valueSize": 1 - } + "declaration": 821, + "isOffset": false, + "isSlot": false, + "src": "16035:7:1", + "valueSize": 1 } ], - "id": 822, + "id": 823, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "14626:76:1" + "src": "16012:70:1" } ] }, "documentation": null, - "id": 824, + "id": 825, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint248", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 818, + "id": 819, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 815, + "id": 816, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 824, - "src": "14533:11:1", + "overrides": null, + "scope": 825, + "src": "15897:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10526,10 +14189,10 @@ "typeString": "uint256" }, "typeName": { - "id": 814, - "name": "uint", + "id": 815, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14533:4:1", + "src": "15897:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10540,11 +14203,12 @@ }, { "constant": false, - "id": 817, + "id": 818, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 824, - "src": "14546:19:1", + "overrides": null, + "scope": 825, + "src": "15913:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -10552,10 +14216,10 @@ "typeString": "bytes" }, "typeName": { - "id": 816, + "id": 817, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14546:5:1", + "src": "15913:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -10565,20 +14229,20 @@ "visibility": "internal" } ], - "src": "14532:34:1" + "src": "15896:37:1" }, - "payable": false, "returnParameters": { - "id": 821, + "id": 822, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 820, + "id": 821, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 824, - "src": "14590:15:1", + "overrides": null, + "scope": 825, + "src": "15981:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10586,10 +14250,10 @@ "typeString": "uint248" }, "typeName": { - "id": 819, + "id": 820, "name": "uint248", "nodeType": "ElementaryTypeName", - "src": "14590:7:1", + "src": "15981:7:1", "typeDescriptions": { "typeIdentifier": "t_uint248", "typeString": "uint248" @@ -10599,76 +14263,120 @@ "visibility": "internal" } ], - "src": "14589:17:1" + "src": "15980:17:1" }, - "scope": 836, - "src": "14509:193:1", + "scope": 837, + "src": "15873:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 834, + "id": 835, "nodeType": "Block", - "src": "14807:95:1", + "src": "16223:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "16242:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16256:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "16277:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "16285:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16273:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "16273:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "16267:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "16267:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "16256:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 831, - "isOffset": false, - "isSlot": false, - "src": "14849:7:1", - "valueSize": 1 - } + "declaration": 829, + "isOffset": false, + "isSlot": false, + "src": "16277:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 828, - "isOffset": false, - "isSlot": false, - "src": "14870:6:1", - "valueSize": 1 - } + "declaration": 827, + "isOffset": false, + "isSlot": false, + "src": "16285:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 826, - "isOffset": false, - "isSlot": false, - "src": "14878:6:1", - "valueSize": 1 - } + "declaration": 832, + "isOffset": false, + "isSlot": false, + "src": "16256:7:1", + "valueSize": 1 } ], - "id": 833, + "id": 834, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "14826:76:1" + "src": "16233:70:1" } ] }, "documentation": null, - "id": 835, + "id": 836, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint256", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 829, + "id": 830, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 826, + "id": 827, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 835, - "src": "14733:11:1", + "overrides": null, + "scope": 836, + "src": "16118:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10676,10 +14384,10 @@ "typeString": "uint256" }, "typeName": { - "id": 825, - "name": "uint", + "id": 826, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14733:4:1", + "src": "16118:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10690,11 +14398,12 @@ }, { "constant": false, - "id": 828, + "id": 829, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 835, - "src": "14746:19:1", + "overrides": null, + "scope": 836, + "src": "16134:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -10702,10 +14411,10 @@ "typeString": "bytes" }, "typeName": { - "id": 827, + "id": 828, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14746:5:1", + "src": "16134:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -10715,20 +14424,20 @@ "visibility": "internal" } ], - "src": "14732:34:1" + "src": "16117:37:1" }, - "payable": false, "returnParameters": { - "id": 832, + "id": 833, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 831, + "id": 832, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 835, - "src": "14790:15:1", + "overrides": null, + "scope": 836, + "src": "16202:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10736,10 +14445,10 @@ "typeString": "uint256" }, "typeName": { - "id": 830, + "id": 831, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14790:7:1", + "src": "16202:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10749,29 +14458,29 @@ "visibility": "internal" } ], - "src": "14789:17:1" + "src": "16201:17:1" }, - "scope": 836, - "src": "14709:193:1", + "scope": 837, + "src": "16094:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" } ], - "scope": 837, - "src": "187:14723:1" + "scope": 838, + "src": "187:16124:1" } ], - "src": "0:14911:1" + "src": "0:16312:1" }, "legacyAST": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol", "exportedSymbols": { "BytesToTypes": [ - 836 + 837 ] }, - "id": 837, + "id": 838, "nodeType": "SourceUnit", "nodes": [ { @@ -10779,87 +14488,137 @@ "literals": [ "solidity", "^", - "0.4", - ".16" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:1" + "src": "0:23:1" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@title BytesToTypes\n@dev The BytesToTypes contract converts the memory byte arrays to the standard solidity types\n@author pouladzade@gmail.com", + "documentation": { + "id": 59, + "nodeType": "StructuredDocumentation", + "src": "26:159:1", + "text": "@title BytesToTypes\n@dev The BytesToTypes contract converts the memory byte arrays to the standard solidity types\n@author pouladzade@gmail.com" + }, "fullyImplemented": true, - "id": 836, + "id": 837, "linearizedBaseContracts": [ - 836 + 837 ], "name": "BytesToTypes", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 68, + "id": 69, "nodeType": "Block", - "src": "319:95:1", + "src": "344:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "363:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "377:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "398:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "406:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "394:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "394:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "388:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "388:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "377:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 65, - "isOffset": false, - "isSlot": false, - "src": "361:7:1", - "valueSize": 1 - } + "declaration": 63, + "isOffset": false, + "isSlot": false, + "src": "398:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 62, - "isOffset": false, - "isSlot": false, - "src": "382:6:1", - "valueSize": 1 - } + "declaration": 61, + "isOffset": false, + "isSlot": false, + "src": "406:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 60, - "isOffset": false, - "isSlot": false, - "src": "390:6:1", - "valueSize": 1 - } + "declaration": 66, + "isOffset": false, + "isSlot": false, + "src": "377:7:1", + "valueSize": 1 } ], - "id": 67, + "id": 68, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "338:76:1" + "src": "354:70:1" } ] }, "documentation": null, - "id": 69, + "id": 70, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToAddress", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 63, + "id": 64, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 60, + "id": 61, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 69, - "src": "245:11:1", + "overrides": null, + "scope": 70, + "src": "239:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10867,10 +14626,10 @@ "typeString": "uint256" }, "typeName": { - "id": 59, - "name": "uint", + "id": 60, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "245:4:1", + "src": "239:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10881,11 +14640,12 @@ }, { "constant": false, - "id": 62, + "id": 63, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 69, - "src": "258:19:1", + "overrides": null, + "scope": 70, + "src": "255:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -10893,10 +14653,10 @@ "typeString": "bytes" }, "typeName": { - "id": 61, + "id": 62, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "258:5:1", + "src": "255:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -10906,20 +14666,20 @@ "visibility": "internal" } ], - "src": "244:34:1" + "src": "238:37:1" }, - "payable": false, "returnParameters": { - "id": 66, + "id": 67, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 65, + "id": 66, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 69, - "src": "302:15:1", + "overrides": null, + "scope": 70, + "src": "323:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10927,10 +14687,11 @@ "typeString": "address" }, "typeName": { - "id": 64, + "id": 65, "name": "address", "nodeType": "ElementaryTypeName", - "src": "302:7:1", + "src": "323:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10940,30 +14701,33 @@ "visibility": "internal" } ], - "src": "301:17:1" + "src": "322:17:1" }, - "scope": 836, - "src": "221:193:1", + "scope": 837, + "src": "215:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 93, + "id": 94, "nodeType": "Block", - "src": "517:155:1", + "src": "559:148:1", "statements": [ { - "assignments": [], + "assignments": [ + 80 + ], "declarations": [ { "constant": false, - "id": 79, + "id": 80, "name": "x", "nodeType": "VariableDeclaration", + "overrides": null, "scope": 94, - "src": "536:7:1", + "src": "569:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10971,10 +14735,10 @@ "typeString": "uint8" }, "typeName": { - "id": 78, + "id": 79, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "536:5:1", + "src": "569:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10984,45 +14748,88 @@ "visibility": "internal" } ], - "id": 80, + "id": 81, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "536:7:1" + "src": "569:7:1" }, { + "AST": { + "nodeType": "YulBlock", + "src": "595:55:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "609:31:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "624:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "632:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "620:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "620:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "614:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "614:26:1" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "609:1:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "x": { - "declaration": 79, - "isOffset": false, - "isSlot": false, - "src": "576:1:1", - "valueSize": 1 - } + "declaration": 74, + "isOffset": false, + "isSlot": false, + "src": "624:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 73, - "isOffset": false, - "isSlot": false, - "src": "591:6:1", - "valueSize": 1 - } + "declaration": 72, + "isOffset": false, + "isSlot": false, + "src": "632:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 71, - "isOffset": false, - "isSlot": false, - "src": "599:6:1", - "valueSize": 1 - } + "declaration": 80, + "isOffset": false, + "isSlot": false, + "src": "609:1:1", + "valueSize": 1 } ], - "id": 81, + "id": 82, "nodeType": "InlineAssembly", - "operations": "{\n x := mload(add(_input, _offst))\n}", - "src": "553:74:1" + "src": "586:64:1" }, { "expression": { @@ -11033,19 +14840,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 84, + "id": 85, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 82, + "id": 83, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "626:1:1", + "referencedDeclaration": 80, + "src": "659:1:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -11056,14 +14863,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 83, + "id": 84, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "629:1:1", + "src": "664:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11071,7 +14878,7 @@ }, "value": "0" }, - "src": "626:4:1", + "src": "659:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11079,19 +14886,19 @@ }, "falseExpression": { "argumentTypes": null, - "id": 90, + "id": 91, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 88, + "id": 89, "name": "_output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "651:7:1", + "referencedDeclaration": 77, + "src": "686:7:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11102,14 +14909,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 89, + "id": 90, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "661:4:1", + "src": "696:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11117,34 +14924,34 @@ }, "value": "true" }, - "src": "651:14:1", + "src": "686:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 91, + "id": 92, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "626:39:1", + "src": "659:41:1", "trueExpression": { "argumentTypes": null, - "id": 87, + "id": 88, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 85, + "id": 86, "name": "_output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "633:7:1", + "referencedDeclaration": 77, + "src": "668:7:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11155,14 +14962,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 86, + "id": 87, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "643:5:1", + "src": "678:5:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11170,7 +14977,7 @@ }, "value": "false" }, - "src": "633:15:1", + "src": "668:15:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11181,31 +14988,32 @@ "typeString": "bool" } }, - "id": 92, + "id": 93, "nodeType": "ExpressionStatement", - "src": "626:39:1" + "src": "659:41:1" } ] }, "documentation": null, - "id": 94, + "id": 95, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToBool", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 74, + "id": 75, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 71, + "id": 72, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 94, - "src": "446:11:1", + "overrides": null, + "scope": 95, + "src": "457:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11213,10 +15021,10 @@ "typeString": "uint256" }, "typeName": { - "id": 70, - "name": "uint", + "id": 71, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "446:4:1", + "src": "457:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11227,11 +15035,12 @@ }, { "constant": false, - "id": 73, + "id": 74, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 94, - "src": "459:19:1", + "overrides": null, + "scope": 95, + "src": "473:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11239,10 +15048,10 @@ "typeString": "bytes" }, "typeName": { - "id": 72, + "id": 73, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "459:5:1", + "src": "473:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -11252,20 +15061,20 @@ "visibility": "internal" } ], - "src": "445:34:1" + "src": "456:37:1" }, - "payable": false, "returnParameters": { - "id": 77, + "id": 78, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 76, + "id": 77, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 94, - "src": "503:12:1", + "overrides": null, + "scope": 95, + "src": "541:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11273,10 +15082,10 @@ "typeString": "bool" }, "typeName": { - "id": 75, + "id": 76, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "503:4:1", + "src": "541:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11286,103 +15095,313 @@ "visibility": "internal" } ], - "src": "502:14:1" + "src": "540:14:1" }, - "scope": 836, - "src": "425:247:1", + "scope": 837, + "src": "436:271:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 104, + "id": 105, "nodeType": "Block", - "src": "778:413:1", + "src": "838:391:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "857:366:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "871:34:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "889:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "897:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "885:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "885:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "879:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "879:26:1" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "871:4:1" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "918:40:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "945:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "951:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "941:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "941:13:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "956:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "937:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "937:21:1" + }, + "variables": [ + { + "name": "chunk_count", + "nodeType": "YulTypedName", + "src": "922:11:1", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1025:100:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1077:34:1", + "value": { + "arguments": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1096:11:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1109:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1092:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1092:19:1" + }, + "variableNames": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1077:11:1" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1011:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1017:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mod", + "nodeType": "YulIdentifier", + "src": "1007:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1007:13:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1022:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1004:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1004:20:1" + }, + "nodeType": "YulIf", + "src": "1001:2:1" + }, + { + "nodeType": "YulAssignment", + "src": "1139:28:1", + "value": { + "arguments": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1151:11:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1164:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "1147:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1147:20:1" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1139:4:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "size": { - "declaration": 101, - "isOffset": false, - "isSlot": false, - "src": "832:4:1", - "valueSize": 1 - } + "declaration": 99, + "isOffset": false, + "isSlot": false, + "src": "889:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 98, - "isOffset": false, - "isSlot": false, - "src": "850:6:1", - "valueSize": 1 - } + "declaration": 97, + "isOffset": false, + "isSlot": false, + "src": "897:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 96, - "isOffset": false, - "isSlot": false, - "src": "857:6:1", - "valueSize": 1 - } + "declaration": 102, + "isOffset": false, + "isSlot": false, + "src": "1011:4:1", + "valueSize": 1 }, { - "size": { - "declaration": 101, - "isOffset": false, - "isSlot": false, - "src": "905:4:1", - "valueSize": 1 - } + "declaration": 102, + "isOffset": false, + "isSlot": false, + "src": "1139:4:1", + "valueSize": 1 }, { - "size": { - "declaration": 101, - "isOffset": false, - "isSlot": false, - "src": "981:4:1", - "valueSize": 1 - } + "declaration": 102, + "isOffset": false, + "isSlot": false, + "src": "871:4:1", + "valueSize": 1 }, { - "size": { - "declaration": 101, - "isOffset": false, - "isSlot": false, - "src": "1103:4:1", - "valueSize": 1 - } + "declaration": 102, + "isOffset": false, + "isSlot": false, + "src": "945:4:1", + "valueSize": 1 } ], - "id": 103, + "id": 104, "nodeType": "InlineAssembly", - "operations": "{\n size := mload(add(_input, _offst))\n let chunk_count := add(div(size, 32), 1)\n if gt(mod(size, 32), 0)\n {\n chunk_count := add(chunk_count, 1)\n }\n size := mul(chunk_count, 32)\n}", - "src": "797:394:1" + "src": "848:375:1" } ] }, "documentation": null, - "id": 105, + "id": 106, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getStringSize", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 99, + "id": 100, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 96, + "id": 97, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 105, - "src": "712:11:1", + "overrides": null, + "scope": 106, + "src": "736:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11390,10 +15409,10 @@ "typeString": "uint256" }, "typeName": { - "id": 95, - "name": "uint", + "id": 96, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "712:4:1", + "src": "736:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11404,11 +15423,12 @@ }, { "constant": false, - "id": 98, + "id": 99, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 105, - "src": "725:19:1", + "overrides": null, + "scope": 106, + "src": "752:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11416,10 +15436,10 @@ "typeString": "bytes" }, "typeName": { - "id": 97, + "id": 98, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "725:5:1", + "src": "752:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -11429,20 +15449,20 @@ "visibility": "internal" } ], - "src": "711:34:1" + "src": "735:37:1" }, - "payable": false, "returnParameters": { - "id": 102, + "id": 103, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 101, + "id": 102, "name": "size", "nodeType": "VariableDeclaration", - "scope": 105, - "src": "768:9:1", + "overrides": null, + "scope": 106, + "src": "820:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11450,10 +15470,10 @@ "typeString": "uint256" }, "typeName": { - "id": 100, - "name": "uint", + "id": 101, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "768:4:1", + "src": "820:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11463,32 +15483,33 @@ "visibility": "internal" } ], - "src": "767:11:1" + "src": "819:14:1" }, - "scope": 836, - "src": "689:502:1", + "scope": 837, + "src": "713:516:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 119, + "id": 120, "nodeType": "Block", - "src": "1286:735:1", + "src": "1361:640:1", "statements": [ { "assignments": [ - 115 + 116 ], "declarations": [ { "constant": false, - "id": 115, + "id": 116, "name": "size", "nodeType": "VariableDeclaration", + "overrides": null, "scope": 120, - "src": "1297:9:1", + "src": "1371:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11496,10 +15517,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114, - "name": "uint", + "id": 115, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1297:4:1", + "src": "1371:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11509,18 +15530,18 @@ "visibility": "internal" } ], - "id": 117, + "id": 118, "initialValue": { "argumentTypes": null, "hexValue": "3332", - "id": 116, + "id": 117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1309:2:1", + "src": "1386:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -11529,127 +15550,529 @@ "value": "32" }, "nodeType": "VariableDeclarationStatement", - "src": "1297:14:1" + "src": "1371:17:1" }, { + "AST": { + "nodeType": "YulBlock", + "src": "1407:588:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1421:20:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1440:1:1", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "chunk_count", + "nodeType": "YulTypedName", + "src": "1425:11:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1455:34:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1473:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1481:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1469:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1469:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1463:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "1463:26:1" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1455:4:1" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1502:36:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1525:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1531:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "1521:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1521:13:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1536:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1517:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1517:21:1" + }, + "variableNames": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1502:11:1" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1605:83:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1623:34:1", + "value": { + "arguments": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1642:11:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1655:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1638:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1638:19:1" + }, + "variableNames": [ + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1623:11:1" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1591:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1597:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mod", + "nodeType": "YulIdentifier", + "src": "1587:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1587:13:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1602:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1584:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1584:20:1" + }, + "nodeType": "YulIf", + "src": "1581:2:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1831:154:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "1860:7:1" + }, + { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1873:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1880:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "1869:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1869:14:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1856:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1856:28:1" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1896:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1904:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1892:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1892:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1886:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "1886:26:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1849:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1849:64:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1849:64:1" + }, + { + "nodeType": "YulAssignment", + "src": "1930:25:1", + "value": { + "arguments": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1944:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1952:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1940:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1940:15:1" + }, + "variableNames": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1930:6:1" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1756:5:1" + }, + { + "name": "chunk_count", + "nodeType": "YulIdentifier", + "src": "1763:11:1" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1753:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "1753:22:1" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1776:54:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1794:22:1", + "value": { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1807:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1814:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1803:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1803:13:1" + }, + "variableNames": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1794:5:1" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1706:46:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1724:14:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1737:1:1", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "index", + "nodeType": "YulTypedName", + "src": "1728:5:1", + "type": "" + } + ] + } + ] + }, + "src": "1702:283:1" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "size": { - "declaration": 115, - "isOffset": false, - "isSlot": false, - "src": "1435:4:1", - "valueSize": 1 - } + "declaration": 110, + "isOffset": false, + "isSlot": false, + "src": "1473:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 109, - "isOffset": false, - "isSlot": false, - "src": "1453:6:1", - "valueSize": 1 - } + "declaration": 110, + "isOffset": false, + "isSlot": false, + "src": "1896:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 107, - "isOffset": false, - "isSlot": false, - "src": "1460:6:1", - "valueSize": 1 - } + "declaration": 108, + "isOffset": false, + "isSlot": false, + "src": "1481:6:1", + "valueSize": 1 }, { - "size": { - "declaration": 115, - "isOffset": false, - "isSlot": false, - "src": "1504:4:1", - "valueSize": 1 - } + "declaration": 108, + "isOffset": false, + "isSlot": false, + "src": "1904:6:1", + "valueSize": 1 }, { - "size": { - "declaration": 115, - "isOffset": false, - "isSlot": false, - "src": "1580:4:1", - "valueSize": 1 - } + "declaration": 108, + "isOffset": false, + "isSlot": false, + "src": "1930:6:1", + "valueSize": 1 }, { - "_output": { - "declaration": 111, - "isOffset": false, - "isSlot": false, - "src": "1751:7:1", - "valueSize": 1 - } + "declaration": 108, + "isOffset": false, + "isSlot": false, + "src": "1944:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 109, - "isOffset": false, - "isSlot": false, - "src": "1789:6:1", - "valueSize": 1 - } + "declaration": 112, + "isOffset": false, + "isSlot": false, + "src": "1860:7:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 107, - "isOffset": false, - "isSlot": false, - "src": "1796:6:1", - "valueSize": 1 - } + "declaration": 116, + "isOffset": false, + "isSlot": false, + "src": "1455:4:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 107, - "isOffset": false, - "isSlot": false, - "src": "1822:6:1", - "valueSize": 1 - } + "declaration": 116, + "isOffset": false, + "isSlot": false, + "src": "1525:4:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 107, - "isOffset": false, - "isSlot": false, - "src": "1836:6:1", - "valueSize": 1 - } + "declaration": 116, + "isOffset": false, + "isSlot": false, + "src": "1591:4:1", + "valueSize": 1 } ], - "id": 118, + "id": 119, "nodeType": "InlineAssembly", - "operations": "{\n let loop_index := 0\n let chunk_count\n size := mload(add(_input, _offst))\n chunk_count := add(div(size, 32), 1)\n if gt(mod(size, 32), 0)\n {\n chunk_count := add(chunk_count, 1)\n }\n loop:\n mstore(add(_output, mul(loop_index, 32)), mload(add(_input, _offst)))\n _offst := sub(_offst, 32)\n loop_index := add(loop_index, 1)\n jumpi(loop, lt(loop_index, chunk_count))\n}", - "src": "1321:700:1" + "src": "1398:597:1" } ] }, "documentation": null, - "id": 120, + "id": 121, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "bytesToString", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 112, + "id": 113, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 107, + "id": 108, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1220:11:1", + "overrides": null, + "scope": 121, + "src": "1267:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11657,10 +16080,10 @@ "typeString": "uint256" }, "typeName": { - "id": 106, - "name": "uint", + "id": 107, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1220:4:1", + "src": "1267:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11671,11 +16094,12 @@ }, { "constant": false, - "id": 109, + "id": 110, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1233:19:1", + "overrides": null, + "scope": 121, + "src": "1291:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11683,10 +16107,10 @@ "typeString": "bytes" }, "typeName": { - "id": 108, + "id": 109, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1233:5:1", + "src": "1291:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -11697,11 +16121,12 @@ }, { "constant": false, - "id": 111, + "id": 112, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 120, - "src": "1254:20:1", + "overrides": null, + "scope": 121, + "src": "1320:20:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11709,10 +16134,10 @@ "typeString": "bytes" }, "typeName": { - "id": 110, + "id": 111, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1254:5:1", + "src": "1320:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -11722,110 +16147,222 @@ "visibility": "internal" } ], - "src": "1219:56:1" + "src": "1257:89:1" }, - "payable": false, "returnParameters": { - "id": 113, + "id": 114, "nodeType": "ParameterList", "parameters": [], - "src": "1286:0:1" + "src": "1361:0:1" }, - "scope": 836, - "src": "1197:824:1", - "stateMutability": "nonpayable", - "superFunction": null, + "scope": 837, + "src": "1235:766:1", + "stateMutability": "pure", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 130, + "id": 131, "nodeType": "Block", - "src": "2117:161:1", + "src": "2129:152:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "2148:127:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "2169:7:1" + }, + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2182:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2190:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2178:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2178:19:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2162:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2162:36:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2162:36:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "2222:7:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2231:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2218:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2218:16:1" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2244:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2252:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2240:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2240:19:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2261:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2236:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2236:28:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2211:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2211:54:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2211:54:1" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 126, - "isOffset": false, - "isSlot": false, - "src": "2220:7:1", - "valueSize": 1 - } + "declaration": 125, + "isOffset": false, + "isSlot": false, + "src": "2182:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 124, - "isOffset": false, - "isSlot": false, - "src": "2242:6:1", - "valueSize": 1 - } + "declaration": 125, + "isOffset": false, + "isSlot": false, + "src": "2244:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 122, - "isOffset": false, - "isSlot": false, - "src": "2250:6:1", - "valueSize": 1 - } + "declaration": 123, + "isOffset": false, + "isSlot": false, + "src": "2190:6:1", + "valueSize": 1 }, { - "_output": { - "declaration": 126, - "isOffset": false, - "isSlot": false, - "src": "2166:7:1", - "valueSize": 1 - } + "declaration": 123, + "isOffset": false, + "isSlot": false, + "src": "2252:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 124, - "isOffset": false, - "isSlot": false, - "src": "2180:6:1", - "valueSize": 1 - } + "declaration": 127, + "isOffset": false, + "isSlot": false, + "src": "2169:7:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 122, - "isOffset": false, - "isSlot": false, - "src": "2188:6:1", - "valueSize": 1 - } + "declaration": 127, + "isOffset": false, + "isSlot": false, + "src": "2222:7:1", + "valueSize": 1 } ], - "id": 129, + "id": 130, "nodeType": "InlineAssembly", - "operations": "{\n mstore(_output, add(_input, _offst))\n mstore(add(_output, 32), add(add(_input, _offst), 32))\n}", - "src": "2136:142:1" + "src": "2139:136:1" } ] }, "documentation": null, - "id": 131, + "id": 132, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToBytes32", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 127, + "id": 128, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 122, + "id": 123, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 131, - "src": "2051:11:1", + "overrides": null, + "scope": 132, + "src": "2040:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11833,10 +16370,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121, - "name": "uint", + "id": 122, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2051:4:1", + "src": "2040:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11847,11 +16384,12 @@ }, { "constant": false, - "id": 124, + "id": 125, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 131, - "src": "2064:20:1", + "overrides": null, + "scope": 132, + "src": "2064:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11859,7 +16397,7 @@ "typeString": "bytes" }, "typeName": { - "id": 123, + "id": 124, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2064:5:1", @@ -11873,11 +16411,12 @@ }, { "constant": false, - "id": 126, + "id": 127, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 131, - "src": "2086:15:1", + "overrides": null, + "scope": 132, + "src": "2093:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11885,10 +16424,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 125, + "id": 126, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2086:7:1", + "src": "2093:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11898,83 +16437,126 @@ "visibility": "internal" } ], - "src": "2050:52:1" + "src": "2030:84:1" }, - "payable": false, "returnParameters": { - "id": 128, + "id": 129, "nodeType": "ParameterList", "parameters": [], - "src": "2117:0:1" + "src": "2129:0:1" }, - "scope": 836, - "src": "2027:251:1", + "scope": 837, + "src": "2007:274:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 141, + "id": 142, "nodeType": "Block", - "src": "2381:95:1", + "src": "2410:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "2429:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2443:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2464:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2472:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2460:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2460:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2454:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "2454:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "2443:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_input": { - "declaration": 135, - "isOffset": false, - "isSlot": false, - "src": "2444:6:1", - "valueSize": 1 - } + "declaration": 136, + "isOffset": false, + "isSlot": false, + "src": "2464:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 133, - "isOffset": false, - "isSlot": false, - "src": "2452:6:1", - "valueSize": 1 - } + "declaration": 134, + "isOffset": false, + "isSlot": false, + "src": "2472:6:1", + "valueSize": 1 }, { - "_output": { - "declaration": 138, - "isOffset": false, - "isSlot": false, - "src": "2423:7:1", - "valueSize": 1 - } + "declaration": 139, + "isOffset": false, + "isSlot": false, + "src": "2443:7:1", + "valueSize": 1 } ], - "id": 140, + "id": 141, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "2400:76:1" + "src": "2420:70:1" } ] }, "documentation": null, - "id": 142, + "id": 143, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt8", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 136, + "id": 137, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 133, + "id": 134, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 142, - "src": "2309:11:1", + "overrides": null, + "scope": 143, + "src": "2308:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11982,10 +16564,10 @@ "typeString": "uint256" }, "typeName": { - "id": 132, - "name": "uint", + "id": 133, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2309:4:1", + "src": "2308:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11996,11 +16578,12 @@ }, { "constant": false, - "id": 135, + "id": 136, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 142, - "src": "2322:20:1", + "overrides": null, + "scope": 143, + "src": "2324:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12008,10 +16591,10 @@ "typeString": "bytes" }, "typeName": { - "id": 134, + "id": 135, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2322:5:1", + "src": "2324:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12021,20 +16604,20 @@ "visibility": "internal" } ], - "src": "2308:35:1" + "src": "2307:37:1" }, - "payable": false, "returnParameters": { - "id": 139, + "id": 140, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 138, + "id": 139, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 142, - "src": "2367:12:1", + "overrides": null, + "scope": 143, + "src": "2392:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12042,10 +16625,10 @@ "typeString": "int8" }, "typeName": { - "id": 137, + "id": 138, "name": "int8", "nodeType": "ElementaryTypeName", - "src": "2367:4:1", + "src": "2392:4:1", "typeDescriptions": { "typeIdentifier": "t_int8", "typeString": "int8" @@ -12055,76 +16638,120 @@ "visibility": "internal" } ], - "src": "2366:14:1" + "src": "2391:14:1" }, - "scope": 836, - "src": "2288:188:1", + "scope": 837, + "src": "2287:209:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 152, + "id": 153, "nodeType": "Block", - "src": "2580:95:1", + "src": "2627:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "2646:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2660:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2681:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2689:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2677:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2677:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2671:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "2671:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "2660:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 149, - "isOffset": false, - "isSlot": false, - "src": "2622:7:1", - "valueSize": 1 - } + "declaration": 147, + "isOffset": false, + "isSlot": false, + "src": "2681:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 146, - "isOffset": false, - "isSlot": false, - "src": "2643:6:1", - "valueSize": 1 - } + "declaration": 145, + "isOffset": false, + "isSlot": false, + "src": "2689:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 144, - "isOffset": false, - "isSlot": false, - "src": "2651:6:1", - "valueSize": 1 - } + "declaration": 150, + "isOffset": false, + "isSlot": false, + "src": "2660:7:1", + "valueSize": 1 } ], - "id": 151, + "id": 152, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "2599:76:1" + "src": "2637:70:1" } ] }, "documentation": null, - "id": 153, + "id": 154, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt16", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 147, + "id": 148, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 144, + "id": 145, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "2508:11:1", + "overrides": null, + "scope": 154, + "src": "2524:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12132,10 +16759,10 @@ "typeString": "uint256" }, "typeName": { - "id": 143, - "name": "uint", + "id": 144, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2508:4:1", + "src": "2524:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12146,11 +16773,12 @@ }, { "constant": false, - "id": 146, + "id": 147, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "2521:19:1", + "overrides": null, + "scope": 154, + "src": "2540:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12158,10 +16786,10 @@ "typeString": "bytes" }, "typeName": { - "id": 145, + "id": 146, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2521:5:1", + "src": "2540:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12171,20 +16799,20 @@ "visibility": "internal" } ], - "src": "2507:34:1" + "src": "2523:37:1" }, - "payable": false, "returnParameters": { - "id": 150, + "id": 151, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 149, + "id": 150, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 153, - "src": "2565:13:1", + "overrides": null, + "scope": 154, + "src": "2608:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12192,10 +16820,10 @@ "typeString": "int16" }, "typeName": { - "id": 148, + "id": 149, "name": "int16", "nodeType": "ElementaryTypeName", - "src": "2565:5:1", + "src": "2608:5:1", "typeDescriptions": { "typeIdentifier": "t_int16", "typeString": "int16" @@ -12205,76 +16833,120 @@ "visibility": "internal" } ], - "src": "2564:15:1" + "src": "2607:15:1" }, - "scope": 836, - "src": "2486:189:1", + "scope": 837, + "src": "2502:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 163, + "id": 164, "nodeType": "Block", - "src": "2775:95:1", + "src": "2844:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "2863:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2877:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2898:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2906:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2894:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "2894:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2888:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "2888:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "2877:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 160, - "isOffset": false, - "isSlot": false, - "src": "2817:7:1", - "valueSize": 1 - } + "declaration": 158, + "isOffset": false, + "isSlot": false, + "src": "2898:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 157, - "isOffset": false, - "isSlot": false, - "src": "2838:6:1", - "valueSize": 1 - } + "declaration": 156, + "isOffset": false, + "isSlot": false, + "src": "2906:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 155, - "isOffset": false, - "isSlot": false, - "src": "2846:6:1", - "valueSize": 1 - } + "declaration": 161, + "isOffset": false, + "isSlot": false, + "src": "2877:7:1", + "valueSize": 1 } ], - "id": 162, + "id": 163, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "2794:76:1" + "src": "2854:70:1" } ] }, "documentation": null, - "id": 164, + "id": 165, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt24", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 158, + "id": 159, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 155, + "id": 156, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 164, - "src": "2703:11:1", + "overrides": null, + "scope": 165, + "src": "2741:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12282,10 +16954,10 @@ "typeString": "uint256" }, "typeName": { - "id": 154, - "name": "uint", + "id": 155, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2703:4:1", + "src": "2741:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12296,11 +16968,12 @@ }, { "constant": false, - "id": 157, + "id": 158, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 164, - "src": "2716:19:1", + "overrides": null, + "scope": 165, + "src": "2757:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12308,10 +16981,10 @@ "typeString": "bytes" }, "typeName": { - "id": 156, + "id": 157, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2716:5:1", + "src": "2757:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12321,20 +16994,20 @@ "visibility": "internal" } ], - "src": "2702:34:1" + "src": "2740:37:1" }, - "payable": false, "returnParameters": { - "id": 161, + "id": 162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 160, + "id": 161, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 164, - "src": "2760:13:1", + "overrides": null, + "scope": 165, + "src": "2825:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12342,10 +17015,10 @@ "typeString": "int24" }, "typeName": { - "id": 159, + "id": 160, "name": "int24", "nodeType": "ElementaryTypeName", - "src": "2760:5:1", + "src": "2825:5:1", "typeDescriptions": { "typeIdentifier": "t_int24", "typeString": "int24" @@ -12355,76 +17028,120 @@ "visibility": "internal" } ], - "src": "2759:15:1" + "src": "2824:15:1" }, - "scope": 836, - "src": "2681:189:1", + "scope": 837, + "src": "2719:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 174, + "id": 175, "nodeType": "Block", - "src": "2970:95:1", + "src": "3061:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "3080:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3094:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "3115:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "3123:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3111:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3111:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3105:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "3105:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "3094:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 171, - "isOffset": false, - "isSlot": false, - "src": "3012:7:1", - "valueSize": 1 - } + "declaration": 169, + "isOffset": false, + "isSlot": false, + "src": "3115:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 168, - "isOffset": false, - "isSlot": false, - "src": "3033:6:1", - "valueSize": 1 - } + "declaration": 167, + "isOffset": false, + "isSlot": false, + "src": "3123:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 166, - "isOffset": false, - "isSlot": false, - "src": "3041:6:1", - "valueSize": 1 - } + "declaration": 172, + "isOffset": false, + "isSlot": false, + "src": "3094:7:1", + "valueSize": 1 } ], - "id": 173, + "id": 174, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "2989:76:1" + "src": "3071:70:1" } ] }, "documentation": null, - "id": 175, + "id": 176, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt32", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 169, + "id": 170, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 166, + "id": 167, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 175, - "src": "2898:11:1", + "overrides": null, + "scope": 176, + "src": "2958:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12432,10 +17149,10 @@ "typeString": "uint256" }, "typeName": { - "id": 165, - "name": "uint", + "id": 166, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2898:4:1", + "src": "2958:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12446,11 +17163,12 @@ }, { "constant": false, - "id": 168, + "id": 169, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 175, - "src": "2911:19:1", + "overrides": null, + "scope": 176, + "src": "2974:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12458,10 +17176,10 @@ "typeString": "bytes" }, "typeName": { - "id": 167, + "id": 168, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2911:5:1", + "src": "2974:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12471,20 +17189,20 @@ "visibility": "internal" } ], - "src": "2897:34:1" + "src": "2957:37:1" }, - "payable": false, "returnParameters": { - "id": 172, + "id": 173, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 171, + "id": 172, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 175, - "src": "2955:13:1", + "overrides": null, + "scope": 176, + "src": "3042:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12492,10 +17210,10 @@ "typeString": "int32" }, "typeName": { - "id": 170, + "id": 171, "name": "int32", "nodeType": "ElementaryTypeName", - "src": "2955:5:1", + "src": "3042:5:1", "typeDescriptions": { "typeIdentifier": "t_int32", "typeString": "int32" @@ -12505,76 +17223,120 @@ "visibility": "internal" } ], - "src": "2954:15:1" + "src": "3041:15:1" }, - "scope": 836, - "src": "2876:189:1", + "scope": 837, + "src": "2936:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 185, + "id": 186, "nodeType": "Block", - "src": "3165:95:1", + "src": "3278:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "3297:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3311:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "3332:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "3340:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3328:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3328:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3322:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "3322:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "3311:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 182, - "isOffset": false, - "isSlot": false, - "src": "3207:7:1", - "valueSize": 1 - } + "declaration": 180, + "isOffset": false, + "isSlot": false, + "src": "3332:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 179, - "isOffset": false, - "isSlot": false, - "src": "3228:6:1", - "valueSize": 1 - } + "declaration": 178, + "isOffset": false, + "isSlot": false, + "src": "3340:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 177, - "isOffset": false, - "isSlot": false, - "src": "3236:6:1", - "valueSize": 1 - } + "declaration": 183, + "isOffset": false, + "isSlot": false, + "src": "3311:7:1", + "valueSize": 1 } ], - "id": 184, + "id": 185, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "3184:76:1" + "src": "3288:70:1" } ] }, "documentation": null, - "id": 186, + "id": 187, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt40", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 180, + "id": 181, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 177, + "id": 178, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 186, - "src": "3093:11:1", + "overrides": null, + "scope": 187, + "src": "3175:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12582,10 +17344,10 @@ "typeString": "uint256" }, "typeName": { - "id": 176, - "name": "uint", + "id": 177, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3093:4:1", + "src": "3175:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12596,11 +17358,12 @@ }, { "constant": false, - "id": 179, + "id": 180, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 186, - "src": "3106:19:1", + "overrides": null, + "scope": 187, + "src": "3191:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12608,10 +17371,10 @@ "typeString": "bytes" }, "typeName": { - "id": 178, + "id": 179, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3106:5:1", + "src": "3191:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12621,20 +17384,20 @@ "visibility": "internal" } ], - "src": "3092:34:1" + "src": "3174:37:1" }, - "payable": false, "returnParameters": { - "id": 183, + "id": 184, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 182, + "id": 183, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 186, - "src": "3150:13:1", + "overrides": null, + "scope": 187, + "src": "3259:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12642,10 +17405,10 @@ "typeString": "int40" }, "typeName": { - "id": 181, + "id": 182, "name": "int40", "nodeType": "ElementaryTypeName", - "src": "3150:5:1", + "src": "3259:5:1", "typeDescriptions": { "typeIdentifier": "t_int40", "typeString": "int40" @@ -12655,76 +17418,120 @@ "visibility": "internal" } ], - "src": "3149:15:1" + "src": "3258:15:1" }, - "scope": 836, - "src": "3071:189:1", + "scope": 837, + "src": "3153:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 196, + "id": 197, "nodeType": "Block", - "src": "3360:95:1", + "src": "3495:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "3514:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3528:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "3549:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "3557:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3545:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3545:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3539:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "3539:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "3528:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 193, - "isOffset": false, - "isSlot": false, - "src": "3402:7:1", - "valueSize": 1 - } + "declaration": 191, + "isOffset": false, + "isSlot": false, + "src": "3549:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 190, - "isOffset": false, - "isSlot": false, - "src": "3423:6:1", - "valueSize": 1 - } + "declaration": 189, + "isOffset": false, + "isSlot": false, + "src": "3557:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 188, - "isOffset": false, - "isSlot": false, - "src": "3431:6:1", - "valueSize": 1 - } + "declaration": 194, + "isOffset": false, + "isSlot": false, + "src": "3528:7:1", + "valueSize": 1 } ], - "id": 195, + "id": 196, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "3379:76:1" + "src": "3505:70:1" } ] }, "documentation": null, - "id": 197, + "id": 198, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt48", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 191, + "id": 192, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 188, + "id": 189, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 197, - "src": "3288:11:1", + "overrides": null, + "scope": 198, + "src": "3392:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12732,10 +17539,10 @@ "typeString": "uint256" }, "typeName": { - "id": 187, - "name": "uint", + "id": 188, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3288:4:1", + "src": "3392:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12746,11 +17553,12 @@ }, { "constant": false, - "id": 190, + "id": 191, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 197, - "src": "3301:19:1", + "overrides": null, + "scope": 198, + "src": "3408:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12758,10 +17566,10 @@ "typeString": "bytes" }, "typeName": { - "id": 189, + "id": 190, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3301:5:1", + "src": "3408:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12771,20 +17579,20 @@ "visibility": "internal" } ], - "src": "3287:34:1" + "src": "3391:37:1" }, - "payable": false, "returnParameters": { - "id": 194, + "id": 195, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 193, + "id": 194, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 197, - "src": "3345:13:1", + "overrides": null, + "scope": 198, + "src": "3476:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12792,10 +17600,10 @@ "typeString": "int48" }, "typeName": { - "id": 192, + "id": 193, "name": "int48", "nodeType": "ElementaryTypeName", - "src": "3345:5:1", + "src": "3476:5:1", "typeDescriptions": { "typeIdentifier": "t_int48", "typeString": "int48" @@ -12805,76 +17613,120 @@ "visibility": "internal" } ], - "src": "3344:15:1" + "src": "3475:15:1" }, - "scope": 836, - "src": "3266:189:1", + "scope": 837, + "src": "3370:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 207, + "id": 208, "nodeType": "Block", - "src": "3555:95:1", + "src": "3712:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "3731:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3745:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "3766:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "3774:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3762:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3762:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3756:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "3756:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "3745:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 204, - "isOffset": false, - "isSlot": false, - "src": "3597:7:1", - "valueSize": 1 - } + "declaration": 202, + "isOffset": false, + "isSlot": false, + "src": "3766:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 201, - "isOffset": false, - "isSlot": false, - "src": "3618:6:1", - "valueSize": 1 - } + "declaration": 200, + "isOffset": false, + "isSlot": false, + "src": "3774:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 199, - "isOffset": false, - "isSlot": false, - "src": "3626:6:1", - "valueSize": 1 - } + "declaration": 205, + "isOffset": false, + "isSlot": false, + "src": "3745:7:1", + "valueSize": 1 } ], - "id": 206, + "id": 207, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "3574:76:1" + "src": "3722:70:1" } ] }, "documentation": null, - "id": 208, + "id": 209, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt56", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 202, + "id": 203, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 199, + "id": 200, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 208, - "src": "3483:11:1", + "overrides": null, + "scope": 209, + "src": "3609:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12882,10 +17734,10 @@ "typeString": "uint256" }, "typeName": { - "id": 198, - "name": "uint", + "id": 199, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3483:4:1", + "src": "3609:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12896,11 +17748,12 @@ }, { "constant": false, - "id": 201, + "id": 202, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 208, - "src": "3496:19:1", + "overrides": null, + "scope": 209, + "src": "3625:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12908,10 +17761,10 @@ "typeString": "bytes" }, "typeName": { - "id": 200, + "id": 201, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3496:5:1", + "src": "3625:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -12921,20 +17774,20 @@ "visibility": "internal" } ], - "src": "3482:34:1" + "src": "3608:37:1" }, - "payable": false, "returnParameters": { - "id": 205, + "id": 206, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 204, + "id": 205, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 208, - "src": "3540:13:1", + "overrides": null, + "scope": 209, + "src": "3693:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12942,10 +17795,10 @@ "typeString": "int56" }, "typeName": { - "id": 203, + "id": 204, "name": "int56", "nodeType": "ElementaryTypeName", - "src": "3540:5:1", + "src": "3693:5:1", "typeDescriptions": { "typeIdentifier": "t_int56", "typeString": "int56" @@ -12955,76 +17808,120 @@ "visibility": "internal" } ], - "src": "3539:15:1" + "src": "3692:15:1" }, - "scope": 836, - "src": "3461:189:1", + "scope": 837, + "src": "3587:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 218, + "id": 219, "nodeType": "Block", - "src": "3750:95:1", + "src": "3929:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "3948:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3962:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "3983:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "3991:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3979:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3979:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3973:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "3973:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "3962:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 215, - "isOffset": false, - "isSlot": false, - "src": "3792:7:1", - "valueSize": 1 - } + "declaration": 213, + "isOffset": false, + "isSlot": false, + "src": "3983:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 212, - "isOffset": false, - "isSlot": false, - "src": "3813:6:1", - "valueSize": 1 - } + "declaration": 211, + "isOffset": false, + "isSlot": false, + "src": "3991:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 210, - "isOffset": false, - "isSlot": false, - "src": "3821:6:1", - "valueSize": 1 - } + "declaration": 216, + "isOffset": false, + "isSlot": false, + "src": "3962:7:1", + "valueSize": 1 } ], - "id": 217, + "id": 218, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "3769:76:1" + "src": "3939:70:1" } ] }, "documentation": null, - "id": 219, + "id": 220, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt64", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 213, + "id": 214, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 210, + "id": 211, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "3678:11:1", + "overrides": null, + "scope": 220, + "src": "3826:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13032,10 +17929,10 @@ "typeString": "uint256" }, "typeName": { - "id": 209, - "name": "uint", + "id": 210, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3678:4:1", + "src": "3826:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13046,11 +17943,12 @@ }, { "constant": false, - "id": 212, + "id": 213, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "3691:19:1", + "overrides": null, + "scope": 220, + "src": "3842:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13058,10 +17956,10 @@ "typeString": "bytes" }, "typeName": { - "id": 211, + "id": 212, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3691:5:1", + "src": "3842:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -13071,20 +17969,20 @@ "visibility": "internal" } ], - "src": "3677:34:1" + "src": "3825:37:1" }, - "payable": false, "returnParameters": { - "id": 216, + "id": 217, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 215, + "id": 216, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 219, - "src": "3735:13:1", + "overrides": null, + "scope": 220, + "src": "3910:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13092,10 +17990,10 @@ "typeString": "int64" }, "typeName": { - "id": 214, + "id": 215, "name": "int64", "nodeType": "ElementaryTypeName", - "src": "3735:5:1", + "src": "3910:5:1", "typeDescriptions": { "typeIdentifier": "t_int64", "typeString": "int64" @@ -13105,76 +18003,120 @@ "visibility": "internal" } ], - "src": "3734:15:1" + "src": "3909:15:1" }, - "scope": 836, - "src": "3656:189:1", + "scope": 837, + "src": "3804:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 229, + "id": 230, "nodeType": "Block", - "src": "3945:95:1", + "src": "4146:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "4165:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4179:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "4200:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "4208:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4196:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "4196:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4190:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "4190:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "4179:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 226, - "isOffset": false, - "isSlot": false, - "src": "3987:7:1", - "valueSize": 1 - } + "declaration": 224, + "isOffset": false, + "isSlot": false, + "src": "4200:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 223, - "isOffset": false, - "isSlot": false, - "src": "4008:6:1", - "valueSize": 1 - } + "declaration": 222, + "isOffset": false, + "isSlot": false, + "src": "4208:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 221, - "isOffset": false, - "isSlot": false, - "src": "4016:6:1", - "valueSize": 1 - } + "declaration": 227, + "isOffset": false, + "isSlot": false, + "src": "4179:7:1", + "valueSize": 1 } ], - "id": 228, + "id": 229, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "3964:76:1" + "src": "4156:70:1" } ] }, "documentation": null, - "id": 230, + "id": 231, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt72", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 224, + "id": 225, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 221, + "id": 222, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 230, - "src": "3873:11:1", + "overrides": null, + "scope": 231, + "src": "4043:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13182,10 +18124,10 @@ "typeString": "uint256" }, "typeName": { - "id": 220, - "name": "uint", + "id": 221, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3873:4:1", + "src": "4043:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13196,11 +18138,12 @@ }, { "constant": false, - "id": 223, + "id": 224, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 230, - "src": "3886:19:1", + "overrides": null, + "scope": 231, + "src": "4059:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13208,10 +18151,10 @@ "typeString": "bytes" }, "typeName": { - "id": 222, + "id": 223, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3886:5:1", + "src": "4059:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -13221,20 +18164,20 @@ "visibility": "internal" } ], - "src": "3872:34:1" + "src": "4042:37:1" }, - "payable": false, "returnParameters": { - "id": 227, + "id": 228, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 226, + "id": 227, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 230, - "src": "3930:13:1", + "overrides": null, + "scope": 231, + "src": "4127:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13242,10 +18185,10 @@ "typeString": "int72" }, "typeName": { - "id": 225, + "id": 226, "name": "int72", "nodeType": "ElementaryTypeName", - "src": "3930:5:1", + "src": "4127:5:1", "typeDescriptions": { "typeIdentifier": "t_int72", "typeString": "int72" @@ -13255,76 +18198,120 @@ "visibility": "internal" } ], - "src": "3929:15:1" + "src": "4126:15:1" }, - "scope": 836, - "src": "3851:189:1", + "scope": 837, + "src": "4021:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 240, + "id": 241, "nodeType": "Block", - "src": "4140:95:1", + "src": "4363:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "4382:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4396:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "4417:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "4425:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4413:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "4413:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4407:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "4407:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "4396:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 237, - "isOffset": false, - "isSlot": false, - "src": "4182:7:1", - "valueSize": 1 - } + "declaration": 235, + "isOffset": false, + "isSlot": false, + "src": "4417:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 234, - "isOffset": false, - "isSlot": false, - "src": "4203:6:1", - "valueSize": 1 - } + "declaration": 233, + "isOffset": false, + "isSlot": false, + "src": "4425:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 232, - "isOffset": false, - "isSlot": false, - "src": "4211:6:1", - "valueSize": 1 - } + "declaration": 238, + "isOffset": false, + "isSlot": false, + "src": "4396:7:1", + "valueSize": 1 } ], - "id": 239, + "id": 240, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "4159:76:1" + "src": "4373:70:1" } ] }, "documentation": null, - "id": 241, + "id": 242, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt80", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 235, + "id": 236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 232, + "id": 233, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 241, - "src": "4068:11:1", + "overrides": null, + "scope": 242, + "src": "4260:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13332,10 +18319,10 @@ "typeString": "uint256" }, "typeName": { - "id": 231, - "name": "uint", + "id": 232, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4068:4:1", + "src": "4260:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13346,11 +18333,12 @@ }, { "constant": false, - "id": 234, + "id": 235, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 241, - "src": "4081:19:1", + "overrides": null, + "scope": 242, + "src": "4276:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13358,10 +18346,10 @@ "typeString": "bytes" }, "typeName": { - "id": 233, + "id": 234, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4081:5:1", + "src": "4276:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -13371,20 +18359,20 @@ "visibility": "internal" } ], - "src": "4067:34:1" + "src": "4259:37:1" }, - "payable": false, "returnParameters": { - "id": 238, + "id": 239, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 237, + "id": 238, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 241, - "src": "4125:13:1", + "overrides": null, + "scope": 242, + "src": "4344:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13392,10 +18380,10 @@ "typeString": "int80" }, "typeName": { - "id": 236, + "id": 237, "name": "int80", "nodeType": "ElementaryTypeName", - "src": "4125:5:1", + "src": "4344:5:1", "typeDescriptions": { "typeIdentifier": "t_int80", "typeString": "int80" @@ -13405,76 +18393,120 @@ "visibility": "internal" } ], - "src": "4124:15:1" + "src": "4343:15:1" }, - "scope": 836, - "src": "4046:189:1", + "scope": 837, + "src": "4238:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 251, + "id": 252, "nodeType": "Block", - "src": "4335:95:1", + "src": "4580:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "4599:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4613:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "4634:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "4642:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4630:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "4630:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4624:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "4624:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "4613:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 248, - "isOffset": false, - "isSlot": false, - "src": "4377:7:1", - "valueSize": 1 - } + "declaration": 246, + "isOffset": false, + "isSlot": false, + "src": "4634:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 245, - "isOffset": false, - "isSlot": false, - "src": "4398:6:1", - "valueSize": 1 - } + "declaration": 244, + "isOffset": false, + "isSlot": false, + "src": "4642:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 243, - "isOffset": false, - "isSlot": false, - "src": "4406:6:1", - "valueSize": 1 - } + "declaration": 249, + "isOffset": false, + "isSlot": false, + "src": "4613:7:1", + "valueSize": 1 } ], - "id": 250, + "id": 251, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "4354:76:1" + "src": "4590:70:1" } ] }, "documentation": null, - "id": 252, + "id": 253, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt88", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 246, + "id": 247, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 243, + "id": 244, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "4263:11:1", + "overrides": null, + "scope": 253, + "src": "4477:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13482,10 +18514,10 @@ "typeString": "uint256" }, "typeName": { - "id": 242, - "name": "uint", + "id": 243, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4263:4:1", + "src": "4477:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13496,11 +18528,12 @@ }, { "constant": false, - "id": 245, + "id": 246, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "4276:19:1", + "overrides": null, + "scope": 253, + "src": "4493:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13508,10 +18541,10 @@ "typeString": "bytes" }, "typeName": { - "id": 244, + "id": 245, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4276:5:1", + "src": "4493:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -13521,20 +18554,20 @@ "visibility": "internal" } ], - "src": "4262:34:1" + "src": "4476:37:1" }, - "payable": false, "returnParameters": { - "id": 249, + "id": 250, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 248, + "id": 249, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 252, - "src": "4320:13:1", + "overrides": null, + "scope": 253, + "src": "4561:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13542,10 +18575,10 @@ "typeString": "int88" }, "typeName": { - "id": 247, + "id": 248, "name": "int88", "nodeType": "ElementaryTypeName", - "src": "4320:5:1", + "src": "4561:5:1", "typeDescriptions": { "typeIdentifier": "t_int88", "typeString": "int88" @@ -13555,76 +18588,120 @@ "visibility": "internal" } ], - "src": "4319:15:1" + "src": "4560:15:1" }, - "scope": 836, - "src": "4241:189:1", + "scope": 837, + "src": "4455:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 262, + "id": 263, "nodeType": "Block", - "src": "4530:95:1", + "src": "4797:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "4816:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4830:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "4851:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "4859:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4847:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "4847:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4841:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "4841:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "4830:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 259, - "isOffset": false, - "isSlot": false, - "src": "4572:7:1", - "valueSize": 1 - } + "declaration": 257, + "isOffset": false, + "isSlot": false, + "src": "4851:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 256, - "isOffset": false, - "isSlot": false, - "src": "4593:6:1", - "valueSize": 1 - } + "declaration": 255, + "isOffset": false, + "isSlot": false, + "src": "4859:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 254, - "isOffset": false, - "isSlot": false, - "src": "4601:6:1", - "valueSize": 1 - } + "declaration": 260, + "isOffset": false, + "isSlot": false, + "src": "4830:7:1", + "valueSize": 1 } ], - "id": 261, + "id": 262, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "4549:76:1" + "src": "4807:70:1" } ] }, "documentation": null, - "id": 263, + "id": 264, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt96", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 257, + "id": 258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 254, + "id": 255, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 263, - "src": "4458:11:1", + "overrides": null, + "scope": 264, + "src": "4694:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13632,10 +18709,10 @@ "typeString": "uint256" }, "typeName": { - "id": 253, - "name": "uint", + "id": 254, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4458:4:1", + "src": "4694:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13646,11 +18723,12 @@ }, { "constant": false, - "id": 256, + "id": 257, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 263, - "src": "4471:19:1", + "overrides": null, + "scope": 264, + "src": "4710:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13658,10 +18736,10 @@ "typeString": "bytes" }, "typeName": { - "id": 255, + "id": 256, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4471:5:1", + "src": "4710:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -13671,20 +18749,20 @@ "visibility": "internal" } ], - "src": "4457:34:1" + "src": "4693:37:1" }, - "payable": false, "returnParameters": { - "id": 260, + "id": 261, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 259, + "id": 260, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 263, - "src": "4515:13:1", + "overrides": null, + "scope": 264, + "src": "4778:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13692,10 +18770,10 @@ "typeString": "int96" }, "typeName": { - "id": 258, + "id": 259, "name": "int96", "nodeType": "ElementaryTypeName", - "src": "4515:5:1", + "src": "4778:5:1", "typeDescriptions": { "typeIdentifier": "t_int96", "typeString": "int96" @@ -13705,76 +18783,120 @@ "visibility": "internal" } ], - "src": "4514:15:1" + "src": "4777:15:1" }, - "scope": 836, - "src": "4436:189:1", + "scope": 837, + "src": "4672:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 273, + "id": 274, "nodeType": "Block", - "src": "4725:95:1", + "src": "5016:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "5035:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5049:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "5070:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "5078:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5066:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5066:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5060:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "5060:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "5049:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 270, - "isOffset": false, - "isSlot": false, - "src": "4767:7:1", - "valueSize": 1 - } + "declaration": 268, + "isOffset": false, + "isSlot": false, + "src": "5070:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 267, - "isOffset": false, - "isSlot": false, - "src": "4788:6:1", - "valueSize": 1 - } + "declaration": 266, + "isOffset": false, + "isSlot": false, + "src": "5078:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 265, - "isOffset": false, - "isSlot": false, - "src": "4796:6:1", - "valueSize": 1 - } + "declaration": 271, + "isOffset": false, + "isSlot": false, + "src": "5049:7:1", + "valueSize": 1 } ], - "id": 272, + "id": 273, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "4744:76:1" + "src": "5026:70:1" } ] }, "documentation": null, - "id": 274, + "id": 275, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt104", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 268, + "id": 269, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 265, + "id": 266, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 274, - "src": "4652:11:1", + "overrides": null, + "scope": 275, + "src": "4912:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13782,10 +18904,10 @@ "typeString": "uint256" }, "typeName": { - "id": 264, - "name": "uint", + "id": 265, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4652:4:1", + "src": "4912:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13796,11 +18918,12 @@ }, { "constant": false, - "id": 267, + "id": 268, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 274, - "src": "4665:19:1", + "overrides": null, + "scope": 275, + "src": "4928:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13808,10 +18931,10 @@ "typeString": "bytes" }, "typeName": { - "id": 266, + "id": 267, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4665:5:1", + "src": "4928:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -13821,20 +18944,20 @@ "visibility": "internal" } ], - "src": "4651:34:1" + "src": "4911:37:1" }, - "payable": false, "returnParameters": { - "id": 271, + "id": 272, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 270, + "id": 271, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 274, - "src": "4709:14:1", + "overrides": null, + "scope": 275, + "src": "4996:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13842,10 +18965,10 @@ "typeString": "int104" }, "typeName": { - "id": 269, + "id": 270, "name": "int104", "nodeType": "ElementaryTypeName", - "src": "4709:6:1", + "src": "4996:6:1", "typeDescriptions": { "typeIdentifier": "t_int104", "typeString": "int104" @@ -13855,76 +18978,120 @@ "visibility": "internal" } ], - "src": "4708:16:1" + "src": "4995:16:1" }, - "scope": 836, - "src": "4629:191:1", + "scope": 837, + "src": "4889:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 284, + "id": 285, "nodeType": "Block", - "src": "4926:95:1", + "src": "5235:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "5254:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5268:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "5289:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "5297:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5285:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5285:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5279:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "5279:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "5268:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 281, - "isOffset": false, - "isSlot": false, - "src": "4968:7:1", - "valueSize": 1 - } + "declaration": 279, + "isOffset": false, + "isSlot": false, + "src": "5289:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 278, - "isOffset": false, - "isSlot": false, - "src": "4989:6:1", - "valueSize": 1 - } + "declaration": 277, + "isOffset": false, + "isSlot": false, + "src": "5297:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 276, - "isOffset": false, - "isSlot": false, - "src": "4997:6:1", - "valueSize": 1 - } + "declaration": 282, + "isOffset": false, + "isSlot": false, + "src": "5268:7:1", + "valueSize": 1 } ], - "id": 283, + "id": 284, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "4945:76:1" + "src": "5245:70:1" } ] }, "documentation": null, - "id": 285, + "id": 286, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt112", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 279, + "id": 280, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 276, + "id": 277, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 285, - "src": "4853:11:1", + "overrides": null, + "scope": 286, + "src": "5131:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13932,10 +19099,10 @@ "typeString": "uint256" }, "typeName": { - "id": 275, - "name": "uint", + "id": 276, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4853:4:1", + "src": "5131:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13946,11 +19113,12 @@ }, { "constant": false, - "id": 278, + "id": 279, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 285, - "src": "4866:19:1", + "overrides": null, + "scope": 286, + "src": "5147:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13958,10 +19126,10 @@ "typeString": "bytes" }, "typeName": { - "id": 277, + "id": 278, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4866:5:1", + "src": "5147:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -13971,20 +19139,20 @@ "visibility": "internal" } ], - "src": "4852:34:1" + "src": "5130:37:1" }, - "payable": false, "returnParameters": { - "id": 282, + "id": 283, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 281, + "id": 282, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 285, - "src": "4910:14:1", + "overrides": null, + "scope": 286, + "src": "5215:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13992,10 +19160,10 @@ "typeString": "int112" }, "typeName": { - "id": 280, + "id": 281, "name": "int112", "nodeType": "ElementaryTypeName", - "src": "4910:6:1", + "src": "5215:6:1", "typeDescriptions": { "typeIdentifier": "t_int112", "typeString": "int112" @@ -14005,76 +19173,120 @@ "visibility": "internal" } ], - "src": "4909:16:1" + "src": "5214:16:1" }, - "scope": 836, - "src": "4830:191:1", + "scope": 837, + "src": "5108:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 295, + "id": 296, "nodeType": "Block", - "src": "5123:95:1", + "src": "5454:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "5473:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5487:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "5508:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "5516:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5504:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5504:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5498:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "5498:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "5487:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 292, - "isOffset": false, - "isSlot": false, - "src": "5165:7:1", - "valueSize": 1 - } + "declaration": 290, + "isOffset": false, + "isSlot": false, + "src": "5508:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 289, - "isOffset": false, - "isSlot": false, - "src": "5186:6:1", - "valueSize": 1 - } + "declaration": 288, + "isOffset": false, + "isSlot": false, + "src": "5516:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 287, - "isOffset": false, - "isSlot": false, - "src": "5194:6:1", - "valueSize": 1 - } + "declaration": 293, + "isOffset": false, + "isSlot": false, + "src": "5487:7:1", + "valueSize": 1 } ], - "id": 294, + "id": 295, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "5142:76:1" + "src": "5464:70:1" } ] }, "documentation": null, - "id": 296, + "id": 297, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt120", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 290, + "id": 291, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 287, + "id": 288, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 296, - "src": "5050:11:1", + "overrides": null, + "scope": 297, + "src": "5350:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14082,10 +19294,10 @@ "typeString": "uint256" }, "typeName": { - "id": 286, - "name": "uint", + "id": 287, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5050:4:1", + "src": "5350:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14096,11 +19308,12 @@ }, { "constant": false, - "id": 289, + "id": 290, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 296, - "src": "5063:19:1", + "overrides": null, + "scope": 297, + "src": "5366:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14108,10 +19321,10 @@ "typeString": "bytes" }, "typeName": { - "id": 288, + "id": 289, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5063:5:1", + "src": "5366:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -14121,20 +19334,20 @@ "visibility": "internal" } ], - "src": "5049:34:1" + "src": "5349:37:1" }, - "payable": false, "returnParameters": { - "id": 293, + "id": 294, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 292, + "id": 293, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 296, - "src": "5107:14:1", + "overrides": null, + "scope": 297, + "src": "5434:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14142,10 +19355,10 @@ "typeString": "int120" }, "typeName": { - "id": 291, + "id": 292, "name": "int120", "nodeType": "ElementaryTypeName", - "src": "5107:6:1", + "src": "5434:6:1", "typeDescriptions": { "typeIdentifier": "t_int120", "typeString": "int120" @@ -14155,76 +19368,120 @@ "visibility": "internal" } ], - "src": "5106:16:1" + "src": "5433:16:1" }, - "scope": 836, - "src": "5027:191:1", + "scope": 837, + "src": "5327:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 306, + "id": 307, "nodeType": "Block", - "src": "5320:95:1", + "src": "5673:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "5692:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5706:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "5727:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "5735:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5723:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5723:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5717:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "5717:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "5706:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 303, - "isOffset": false, - "isSlot": false, - "src": "5362:7:1", - "valueSize": 1 - } + "declaration": 301, + "isOffset": false, + "isSlot": false, + "src": "5727:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 300, - "isOffset": false, - "isSlot": false, - "src": "5383:6:1", - "valueSize": 1 - } + "declaration": 299, + "isOffset": false, + "isSlot": false, + "src": "5735:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 298, - "isOffset": false, - "isSlot": false, - "src": "5391:6:1", - "valueSize": 1 - } + "declaration": 304, + "isOffset": false, + "isSlot": false, + "src": "5706:7:1", + "valueSize": 1 } ], - "id": 305, + "id": 306, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "5339:76:1" + "src": "5683:70:1" } ] }, "documentation": null, - "id": 307, + "id": 308, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt128", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 301, + "id": 302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 298, + "id": 299, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 307, - "src": "5247:11:1", + "overrides": null, + "scope": 308, + "src": "5569:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14232,10 +19489,10 @@ "typeString": "uint256" }, "typeName": { - "id": 297, - "name": "uint", + "id": 298, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5247:4:1", + "src": "5569:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14246,11 +19503,12 @@ }, { "constant": false, - "id": 300, + "id": 301, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 307, - "src": "5260:19:1", + "overrides": null, + "scope": 308, + "src": "5585:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14258,10 +19516,10 @@ "typeString": "bytes" }, "typeName": { - "id": 299, + "id": 300, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5260:5:1", + "src": "5585:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -14271,20 +19529,20 @@ "visibility": "internal" } ], - "src": "5246:34:1" + "src": "5568:37:1" }, - "payable": false, "returnParameters": { - "id": 304, + "id": 305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 303, + "id": 304, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 307, - "src": "5304:14:1", + "overrides": null, + "scope": 308, + "src": "5653:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14292,10 +19550,10 @@ "typeString": "int128" }, "typeName": { - "id": 302, + "id": 303, "name": "int128", "nodeType": "ElementaryTypeName", - "src": "5304:6:1", + "src": "5653:6:1", "typeDescriptions": { "typeIdentifier": "t_int128", "typeString": "int128" @@ -14305,76 +19563,120 @@ "visibility": "internal" } ], - "src": "5303:16:1" + "src": "5652:16:1" }, - "scope": 836, - "src": "5224:191:1", + "scope": 837, + "src": "5546:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 317, + "id": 318, "nodeType": "Block", - "src": "5517:95:1", + "src": "5892:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "5911:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5925:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "5946:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "5954:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5942:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5942:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5936:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "5936:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "5925:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 314, - "isOffset": false, - "isSlot": false, - "src": "5559:7:1", - "valueSize": 1 - } + "declaration": 312, + "isOffset": false, + "isSlot": false, + "src": "5946:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 311, - "isOffset": false, - "isSlot": false, - "src": "5580:6:1", - "valueSize": 1 - } + "declaration": 310, + "isOffset": false, + "isSlot": false, + "src": "5954:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 309, - "isOffset": false, - "isSlot": false, - "src": "5588:6:1", - "valueSize": 1 - } + "declaration": 315, + "isOffset": false, + "isSlot": false, + "src": "5925:7:1", + "valueSize": 1 } ], - "id": 316, + "id": 317, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "5536:76:1" + "src": "5902:70:1" } ] }, "documentation": null, - "id": 318, + "id": 319, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt136", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 312, + "id": 313, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 309, + "id": 310, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 318, - "src": "5444:11:1", + "overrides": null, + "scope": 319, + "src": "5788:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14382,10 +19684,10 @@ "typeString": "uint256" }, "typeName": { - "id": 308, - "name": "uint", + "id": 309, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5444:4:1", + "src": "5788:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14396,11 +19698,12 @@ }, { "constant": false, - "id": 311, + "id": 312, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 318, - "src": "5457:19:1", + "overrides": null, + "scope": 319, + "src": "5804:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14408,10 +19711,10 @@ "typeString": "bytes" }, "typeName": { - "id": 310, + "id": 311, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5457:5:1", + "src": "5804:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -14421,20 +19724,20 @@ "visibility": "internal" } ], - "src": "5443:34:1" + "src": "5787:37:1" }, - "payable": false, "returnParameters": { - "id": 315, + "id": 316, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 314, + "id": 315, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 318, - "src": "5501:14:1", + "overrides": null, + "scope": 319, + "src": "5872:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14442,10 +19745,10 @@ "typeString": "int136" }, "typeName": { - "id": 313, + "id": 314, "name": "int136", "nodeType": "ElementaryTypeName", - "src": "5501:6:1", + "src": "5872:6:1", "typeDescriptions": { "typeIdentifier": "t_int136", "typeString": "int136" @@ -14455,76 +19758,120 @@ "visibility": "internal" } ], - "src": "5500:16:1" + "src": "5871:16:1" }, - "scope": 836, - "src": "5421:191:1", + "scope": 837, + "src": "5765:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 328, + "id": 329, "nodeType": "Block", - "src": "5714:95:1", + "src": "6111:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "6130:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6144:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "6165:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "6173:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6161:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "6161:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6155:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "6155:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "6144:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 325, - "isOffset": false, - "isSlot": false, - "src": "5756:7:1", - "valueSize": 1 - } + "declaration": 323, + "isOffset": false, + "isSlot": false, + "src": "6165:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 322, - "isOffset": false, - "isSlot": false, - "src": "5777:6:1", - "valueSize": 1 - } + "declaration": 321, + "isOffset": false, + "isSlot": false, + "src": "6173:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 320, - "isOffset": false, - "isSlot": false, - "src": "5785:6:1", - "valueSize": 1 - } + "declaration": 326, + "isOffset": false, + "isSlot": false, + "src": "6144:7:1", + "valueSize": 1 } ], - "id": 327, + "id": 328, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "5733:76:1" + "src": "6121:70:1" } ] }, "documentation": null, - "id": 329, + "id": 330, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt144", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 323, + "id": 324, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 320, + "id": 321, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "5641:11:1", + "overrides": null, + "scope": 330, + "src": "6007:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14532,10 +19879,10 @@ "typeString": "uint256" }, "typeName": { - "id": 319, - "name": "uint", + "id": 320, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5641:4:1", + "src": "6007:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14546,11 +19893,12 @@ }, { "constant": false, - "id": 322, + "id": 323, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "5654:19:1", + "overrides": null, + "scope": 330, + "src": "6023:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14558,10 +19906,10 @@ "typeString": "bytes" }, "typeName": { - "id": 321, + "id": 322, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5654:5:1", + "src": "6023:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -14571,20 +19919,20 @@ "visibility": "internal" } ], - "src": "5640:34:1" + "src": "6006:37:1" }, - "payable": false, "returnParameters": { - "id": 326, + "id": 327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 325, + "id": 326, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 329, - "src": "5698:14:1", + "overrides": null, + "scope": 330, + "src": "6091:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14592,10 +19940,10 @@ "typeString": "int144" }, "typeName": { - "id": 324, + "id": 325, "name": "int144", "nodeType": "ElementaryTypeName", - "src": "5698:6:1", + "src": "6091:6:1", "typeDescriptions": { "typeIdentifier": "t_int144", "typeString": "int144" @@ -14605,76 +19953,120 @@ "visibility": "internal" } ], - "src": "5697:16:1" + "src": "6090:16:1" }, - "scope": 836, - "src": "5618:191:1", + "scope": 837, + "src": "5984:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 339, + "id": 340, "nodeType": "Block", - "src": "5911:95:1", + "src": "6330:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "6349:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6363:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "6384:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "6392:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6380:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "6380:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6374:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "6374:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "6363:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 336, - "isOffset": false, - "isSlot": false, - "src": "5953:7:1", - "valueSize": 1 - } + "declaration": 334, + "isOffset": false, + "isSlot": false, + "src": "6384:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 333, - "isOffset": false, - "isSlot": false, - "src": "5974:6:1", - "valueSize": 1 - } + "declaration": 332, + "isOffset": false, + "isSlot": false, + "src": "6392:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 331, - "isOffset": false, - "isSlot": false, - "src": "5982:6:1", - "valueSize": 1 - } + "declaration": 337, + "isOffset": false, + "isSlot": false, + "src": "6363:7:1", + "valueSize": 1 } ], - "id": 338, + "id": 339, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "5930:76:1" + "src": "6340:70:1" } ] }, "documentation": null, - "id": 340, + "id": 341, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt152", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 334, + "id": 335, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 331, + "id": 332, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "5838:11:1", + "overrides": null, + "scope": 341, + "src": "6226:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14682,10 +20074,10 @@ "typeString": "uint256" }, "typeName": { - "id": 330, - "name": "uint", + "id": 331, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5838:4:1", + "src": "6226:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14696,11 +20088,12 @@ }, { "constant": false, - "id": 333, + "id": 334, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "5851:19:1", + "overrides": null, + "scope": 341, + "src": "6242:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14708,10 +20101,10 @@ "typeString": "bytes" }, "typeName": { - "id": 332, + "id": 333, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5851:5:1", + "src": "6242:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -14721,20 +20114,20 @@ "visibility": "internal" } ], - "src": "5837:34:1" + "src": "6225:37:1" }, - "payable": false, "returnParameters": { - "id": 337, + "id": 338, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 336, + "id": 337, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "5895:14:1", + "overrides": null, + "scope": 341, + "src": "6310:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14742,10 +20135,10 @@ "typeString": "int152" }, "typeName": { - "id": 335, + "id": 336, "name": "int152", "nodeType": "ElementaryTypeName", - "src": "5895:6:1", + "src": "6310:6:1", "typeDescriptions": { "typeIdentifier": "t_int152", "typeString": "int152" @@ -14755,76 +20148,120 @@ "visibility": "internal" } ], - "src": "5894:16:1" + "src": "6309:16:1" }, - "scope": 836, - "src": "5815:191:1", + "scope": 837, + "src": "6203:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 350, + "id": 351, "nodeType": "Block", - "src": "6108:95:1", + "src": "6549:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "6568:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6582:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "6603:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "6611:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6599:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "6599:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6593:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "6593:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "6582:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 347, - "isOffset": false, - "isSlot": false, - "src": "6150:7:1", - "valueSize": 1 - } + "declaration": 345, + "isOffset": false, + "isSlot": false, + "src": "6603:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 344, - "isOffset": false, - "isSlot": false, - "src": "6171:6:1", - "valueSize": 1 - } + "declaration": 343, + "isOffset": false, + "isSlot": false, + "src": "6611:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 342, - "isOffset": false, - "isSlot": false, - "src": "6179:6:1", - "valueSize": 1 - } + "declaration": 348, + "isOffset": false, + "isSlot": false, + "src": "6582:7:1", + "valueSize": 1 } ], - "id": 349, + "id": 350, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "6127:76:1" + "src": "6559:70:1" } ] }, "documentation": null, - "id": 351, + "id": 352, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt160", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 345, + "id": 346, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 342, + "id": 343, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 351, - "src": "6035:11:1", + "overrides": null, + "scope": 352, + "src": "6445:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14832,10 +20269,10 @@ "typeString": "uint256" }, "typeName": { - "id": 341, - "name": "uint", + "id": 342, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6035:4:1", + "src": "6445:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14846,11 +20283,12 @@ }, { "constant": false, - "id": 344, + "id": 345, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 351, - "src": "6048:19:1", + "overrides": null, + "scope": 352, + "src": "6461:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14858,10 +20296,10 @@ "typeString": "bytes" }, "typeName": { - "id": 343, + "id": 344, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6048:5:1", + "src": "6461:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -14871,20 +20309,20 @@ "visibility": "internal" } ], - "src": "6034:34:1" + "src": "6444:37:1" }, - "payable": false, "returnParameters": { - "id": 348, + "id": 349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 347, + "id": 348, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 351, - "src": "6092:14:1", + "overrides": null, + "scope": 352, + "src": "6529:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14892,10 +20330,10 @@ "typeString": "int160" }, "typeName": { - "id": 346, + "id": 347, "name": "int160", "nodeType": "ElementaryTypeName", - "src": "6092:6:1", + "src": "6529:6:1", "typeDescriptions": { "typeIdentifier": "t_int160", "typeString": "int160" @@ -14905,76 +20343,120 @@ "visibility": "internal" } ], - "src": "6091:16:1" + "src": "6528:16:1" }, - "scope": 836, - "src": "6012:191:1", + "scope": 837, + "src": "6422:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 361, + "id": 362, "nodeType": "Block", - "src": "6305:95:1", + "src": "6768:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "6787:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6801:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "6822:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "6830:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6818:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "6818:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6812:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "6812:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "6801:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 358, - "isOffset": false, - "isSlot": false, - "src": "6347:7:1", - "valueSize": 1 - } + "declaration": 356, + "isOffset": false, + "isSlot": false, + "src": "6822:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 355, - "isOffset": false, - "isSlot": false, - "src": "6368:6:1", - "valueSize": 1 - } + "declaration": 354, + "isOffset": false, + "isSlot": false, + "src": "6830:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 353, - "isOffset": false, - "isSlot": false, - "src": "6376:6:1", - "valueSize": 1 - } + "declaration": 359, + "isOffset": false, + "isSlot": false, + "src": "6801:7:1", + "valueSize": 1 } ], - "id": 360, + "id": 361, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "6324:76:1" + "src": "6778:70:1" } ] }, "documentation": null, - "id": 362, + "id": 363, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt168", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 356, + "id": 357, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 353, + "id": 354, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 362, - "src": "6232:11:1", + "overrides": null, + "scope": 363, + "src": "6664:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14982,10 +20464,10 @@ "typeString": "uint256" }, "typeName": { - "id": 352, - "name": "uint", + "id": 353, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6232:4:1", + "src": "6664:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14996,11 +20478,12 @@ }, { "constant": false, - "id": 355, + "id": 356, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 362, - "src": "6245:19:1", + "overrides": null, + "scope": 363, + "src": "6680:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15008,10 +20491,10 @@ "typeString": "bytes" }, "typeName": { - "id": 354, + "id": 355, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6245:5:1", + "src": "6680:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -15021,20 +20504,20 @@ "visibility": "internal" } ], - "src": "6231:34:1" + "src": "6663:37:1" }, - "payable": false, "returnParameters": { - "id": 359, + "id": 360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 358, + "id": 359, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 362, - "src": "6289:14:1", + "overrides": null, + "scope": 363, + "src": "6748:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15042,10 +20525,10 @@ "typeString": "int168" }, "typeName": { - "id": 357, + "id": 358, "name": "int168", "nodeType": "ElementaryTypeName", - "src": "6289:6:1", + "src": "6748:6:1", "typeDescriptions": { "typeIdentifier": "t_int168", "typeString": "int168" @@ -15055,76 +20538,120 @@ "visibility": "internal" } ], - "src": "6288:16:1" + "src": "6747:16:1" }, - "scope": 836, - "src": "6209:191:1", + "scope": 837, + "src": "6641:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 372, + "id": 373, "nodeType": "Block", - "src": "6502:95:1", + "src": "6987:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "7006:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7020:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "7041:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "7049:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7037:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7037:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7031:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "7031:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "7020:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 369, - "isOffset": false, - "isSlot": false, - "src": "6544:7:1", - "valueSize": 1 - } + "declaration": 367, + "isOffset": false, + "isSlot": false, + "src": "7041:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 366, - "isOffset": false, - "isSlot": false, - "src": "6565:6:1", - "valueSize": 1 - } + "declaration": 365, + "isOffset": false, + "isSlot": false, + "src": "7049:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 364, - "isOffset": false, - "isSlot": false, - "src": "6573:6:1", - "valueSize": 1 - } + "declaration": 370, + "isOffset": false, + "isSlot": false, + "src": "7020:7:1", + "valueSize": 1 } ], - "id": 371, + "id": 372, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "6521:76:1" + "src": "6997:70:1" } ] }, "documentation": null, - "id": 373, + "id": 374, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt176", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 367, + "id": 368, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 364, + "id": 365, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "6429:11:1", + "overrides": null, + "scope": 374, + "src": "6883:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15132,10 +20659,10 @@ "typeString": "uint256" }, "typeName": { - "id": 363, - "name": "uint", + "id": 364, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6429:4:1", + "src": "6883:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15146,11 +20673,12 @@ }, { "constant": false, - "id": 366, + "id": 367, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "6442:19:1", + "overrides": null, + "scope": 374, + "src": "6899:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15158,10 +20686,10 @@ "typeString": "bytes" }, "typeName": { - "id": 365, + "id": 366, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6442:5:1", + "src": "6899:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -15171,20 +20699,20 @@ "visibility": "internal" } ], - "src": "6428:34:1" + "src": "6882:37:1" }, - "payable": false, "returnParameters": { - "id": 370, + "id": 371, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 369, + "id": 370, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 373, - "src": "6486:14:1", + "overrides": null, + "scope": 374, + "src": "6967:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15192,10 +20720,10 @@ "typeString": "int176" }, "typeName": { - "id": 368, + "id": 369, "name": "int176", "nodeType": "ElementaryTypeName", - "src": "6486:6:1", + "src": "6967:6:1", "typeDescriptions": { "typeIdentifier": "t_int176", "typeString": "int176" @@ -15205,76 +20733,120 @@ "visibility": "internal" } ], - "src": "6485:16:1" + "src": "6966:16:1" }, - "scope": 836, - "src": "6406:191:1", + "scope": 837, + "src": "6860:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 383, + "id": 384, "nodeType": "Block", - "src": "6699:95:1", + "src": "7206:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "7225:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7239:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "7260:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "7268:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7256:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7256:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7250:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "7250:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "7239:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 380, - "isOffset": false, - "isSlot": false, - "src": "6741:7:1", - "valueSize": 1 - } + "declaration": 378, + "isOffset": false, + "isSlot": false, + "src": "7260:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 377, - "isOffset": false, - "isSlot": false, - "src": "6762:6:1", - "valueSize": 1 - } + "declaration": 376, + "isOffset": false, + "isSlot": false, + "src": "7268:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 375, - "isOffset": false, - "isSlot": false, - "src": "6770:6:1", - "valueSize": 1 - } + "declaration": 381, + "isOffset": false, + "isSlot": false, + "src": "7239:7:1", + "valueSize": 1 } ], - "id": 382, + "id": 383, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "6718:76:1" + "src": "7216:70:1" } ] }, "documentation": null, - "id": 384, + "id": 385, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt184", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 378, + "id": 379, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 375, + "id": 376, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 384, - "src": "6626:11:1", + "overrides": null, + "scope": 385, + "src": "7102:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15282,10 +20854,10 @@ "typeString": "uint256" }, "typeName": { - "id": 374, - "name": "uint", + "id": 375, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6626:4:1", + "src": "7102:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15296,11 +20868,12 @@ }, { "constant": false, - "id": 377, + "id": 378, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 384, - "src": "6639:19:1", + "overrides": null, + "scope": 385, + "src": "7118:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15308,10 +20881,10 @@ "typeString": "bytes" }, "typeName": { - "id": 376, + "id": 377, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6639:5:1", + "src": "7118:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -15321,20 +20894,20 @@ "visibility": "internal" } ], - "src": "6625:34:1" + "src": "7101:37:1" }, - "payable": false, "returnParameters": { - "id": 381, + "id": 382, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 380, + "id": 381, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 384, - "src": "6683:14:1", + "overrides": null, + "scope": 385, + "src": "7186:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15342,10 +20915,10 @@ "typeString": "int184" }, "typeName": { - "id": 379, + "id": 380, "name": "int184", "nodeType": "ElementaryTypeName", - "src": "6683:6:1", + "src": "7186:6:1", "typeDescriptions": { "typeIdentifier": "t_int184", "typeString": "int184" @@ -15355,76 +20928,120 @@ "visibility": "internal" } ], - "src": "6682:16:1" + "src": "7185:16:1" }, - "scope": 836, - "src": "6603:191:1", + "scope": 837, + "src": "7079:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 394, + "id": 395, "nodeType": "Block", - "src": "6896:95:1", + "src": "7425:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "7444:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7458:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "7479:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "7487:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7475:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7475:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7469:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "7469:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "7458:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 391, - "isOffset": false, - "isSlot": false, - "src": "6938:7:1", - "valueSize": 1 - } + "declaration": 389, + "isOffset": false, + "isSlot": false, + "src": "7479:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 388, - "isOffset": false, - "isSlot": false, - "src": "6959:6:1", - "valueSize": 1 - } + "declaration": 387, + "isOffset": false, + "isSlot": false, + "src": "7487:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 386, - "isOffset": false, - "isSlot": false, - "src": "6967:6:1", - "valueSize": 1 - } + "declaration": 392, + "isOffset": false, + "isSlot": false, + "src": "7458:7:1", + "valueSize": 1 } ], - "id": 393, + "id": 394, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "6915:76:1" + "src": "7435:70:1" } ] }, "documentation": null, - "id": 395, + "id": 396, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt192", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 389, + "id": 390, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 386, + "id": 387, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 395, - "src": "6823:11:1", + "overrides": null, + "scope": 396, + "src": "7321:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15432,10 +21049,10 @@ "typeString": "uint256" }, "typeName": { - "id": 385, - "name": "uint", + "id": 386, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6823:4:1", + "src": "7321:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15446,11 +21063,12 @@ }, { "constant": false, - "id": 388, + "id": 389, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 395, - "src": "6836:19:1", + "overrides": null, + "scope": 396, + "src": "7337:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15458,10 +21076,10 @@ "typeString": "bytes" }, "typeName": { - "id": 387, + "id": 388, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6836:5:1", + "src": "7337:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -15471,20 +21089,20 @@ "visibility": "internal" } ], - "src": "6822:34:1" + "src": "7320:37:1" }, - "payable": false, "returnParameters": { - "id": 392, + "id": 393, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 391, + "id": 392, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 395, - "src": "6880:14:1", + "overrides": null, + "scope": 396, + "src": "7405:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15492,10 +21110,10 @@ "typeString": "int192" }, "typeName": { - "id": 390, + "id": 391, "name": "int192", "nodeType": "ElementaryTypeName", - "src": "6880:6:1", + "src": "7405:6:1", "typeDescriptions": { "typeIdentifier": "t_int192", "typeString": "int192" @@ -15505,76 +21123,120 @@ "visibility": "internal" } ], - "src": "6879:16:1" + "src": "7404:16:1" }, - "scope": 836, - "src": "6800:191:1", + "scope": 837, + "src": "7298:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 405, + "id": 406, "nodeType": "Block", - "src": "7093:95:1", + "src": "7644:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "7663:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7677:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "7698:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "7706:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7694:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7694:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7688:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "7688:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "7677:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 402, - "isOffset": false, - "isSlot": false, - "src": "7135:7:1", - "valueSize": 1 - } + "declaration": 400, + "isOffset": false, + "isSlot": false, + "src": "7698:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 399, - "isOffset": false, - "isSlot": false, - "src": "7156:6:1", - "valueSize": 1 - } + "declaration": 398, + "isOffset": false, + "isSlot": false, + "src": "7706:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 397, - "isOffset": false, - "isSlot": false, - "src": "7164:6:1", - "valueSize": 1 - } + "declaration": 403, + "isOffset": false, + "isSlot": false, + "src": "7677:7:1", + "valueSize": 1 } ], - "id": 404, + "id": 405, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "7112:76:1" + "src": "7654:70:1" } ] }, "documentation": null, - "id": 406, + "id": 407, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt200", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 400, + "id": 401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 397, + "id": 398, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "7020:11:1", + "overrides": null, + "scope": 407, + "src": "7540:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15582,10 +21244,10 @@ "typeString": "uint256" }, "typeName": { - "id": 396, - "name": "uint", + "id": 397, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7020:4:1", + "src": "7540:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15596,11 +21258,12 @@ }, { "constant": false, - "id": 399, + "id": 400, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "7033:19:1", + "overrides": null, + "scope": 407, + "src": "7556:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15608,10 +21271,10 @@ "typeString": "bytes" }, "typeName": { - "id": 398, + "id": 399, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7033:5:1", + "src": "7556:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -15621,20 +21284,20 @@ "visibility": "internal" } ], - "src": "7019:34:1" + "src": "7539:37:1" }, - "payable": false, "returnParameters": { - "id": 403, + "id": 404, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 402, + "id": 403, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "7077:14:1", + "overrides": null, + "scope": 407, + "src": "7624:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15642,10 +21305,10 @@ "typeString": "int200" }, "typeName": { - "id": 401, + "id": 402, "name": "int200", "nodeType": "ElementaryTypeName", - "src": "7077:6:1", + "src": "7624:6:1", "typeDescriptions": { "typeIdentifier": "t_int200", "typeString": "int200" @@ -15655,76 +21318,120 @@ "visibility": "internal" } ], - "src": "7076:16:1" + "src": "7623:16:1" }, - "scope": 836, - "src": "6997:191:1", + "scope": 837, + "src": "7517:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 416, + "id": 417, "nodeType": "Block", - "src": "7290:95:1", + "src": "7863:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "7882:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7896:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "7917:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "7925:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7913:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7913:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7907:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "7907:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "7896:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 413, - "isOffset": false, - "isSlot": false, - "src": "7332:7:1", - "valueSize": 1 - } + "declaration": 411, + "isOffset": false, + "isSlot": false, + "src": "7917:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 410, - "isOffset": false, - "isSlot": false, - "src": "7353:6:1", - "valueSize": 1 - } + "declaration": 409, + "isOffset": false, + "isSlot": false, + "src": "7925:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 408, - "isOffset": false, - "isSlot": false, - "src": "7361:6:1", - "valueSize": 1 - } + "declaration": 414, + "isOffset": false, + "isSlot": false, + "src": "7896:7:1", + "valueSize": 1 } ], - "id": 415, + "id": 416, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "7309:76:1" + "src": "7873:70:1" } ] }, "documentation": null, - "id": 417, + "id": 418, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt208", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 411, + "id": 412, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 408, + "id": 409, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 417, - "src": "7217:11:1", + "overrides": null, + "scope": 418, + "src": "7759:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15732,10 +21439,10 @@ "typeString": "uint256" }, "typeName": { - "id": 407, - "name": "uint", + "id": 408, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7217:4:1", + "src": "7759:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15746,11 +21453,12 @@ }, { "constant": false, - "id": 410, + "id": 411, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 417, - "src": "7230:19:1", + "overrides": null, + "scope": 418, + "src": "7775:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15758,10 +21466,10 @@ "typeString": "bytes" }, "typeName": { - "id": 409, + "id": 410, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7230:5:1", + "src": "7775:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -15771,20 +21479,20 @@ "visibility": "internal" } ], - "src": "7216:34:1" + "src": "7758:37:1" }, - "payable": false, "returnParameters": { - "id": 414, + "id": 415, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 413, + "id": 414, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 417, - "src": "7274:14:1", + "overrides": null, + "scope": 418, + "src": "7843:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15792,10 +21500,10 @@ "typeString": "int208" }, "typeName": { - "id": 412, + "id": 413, "name": "int208", "nodeType": "ElementaryTypeName", - "src": "7274:6:1", + "src": "7843:6:1", "typeDescriptions": { "typeIdentifier": "t_int208", "typeString": "int208" @@ -15805,76 +21513,120 @@ "visibility": "internal" } ], - "src": "7273:16:1" + "src": "7842:16:1" }, - "scope": 836, - "src": "7194:191:1", + "scope": 837, + "src": "7736:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 427, + "id": 428, "nodeType": "Block", - "src": "7487:95:1", + "src": "8082:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "8101:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8115:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "8136:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "8144:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8132:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "8132:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8126:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "8126:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "8115:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 424, - "isOffset": false, - "isSlot": false, - "src": "7529:7:1", - "valueSize": 1 - } + "declaration": 422, + "isOffset": false, + "isSlot": false, + "src": "8136:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 421, - "isOffset": false, - "isSlot": false, - "src": "7550:6:1", - "valueSize": 1 - } + "declaration": 420, + "isOffset": false, + "isSlot": false, + "src": "8144:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 419, - "isOffset": false, - "isSlot": false, - "src": "7558:6:1", - "valueSize": 1 - } + "declaration": 425, + "isOffset": false, + "isSlot": false, + "src": "8115:7:1", + "valueSize": 1 } ], - "id": 426, + "id": 427, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "7506:76:1" + "src": "8092:70:1" } ] }, "documentation": null, - "id": 428, + "id": 429, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt216", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 422, + "id": 423, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 419, + "id": 420, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 428, - "src": "7414:11:1", + "overrides": null, + "scope": 429, + "src": "7978:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15882,10 +21634,10 @@ "typeString": "uint256" }, "typeName": { - "id": 418, - "name": "uint", + "id": 419, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7414:4:1", + "src": "7978:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15896,11 +21648,12 @@ }, { "constant": false, - "id": 421, + "id": 422, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 428, - "src": "7427:19:1", + "overrides": null, + "scope": 429, + "src": "7994:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15908,10 +21661,10 @@ "typeString": "bytes" }, "typeName": { - "id": 420, + "id": 421, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7427:5:1", + "src": "7994:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -15921,20 +21674,20 @@ "visibility": "internal" } ], - "src": "7413:34:1" + "src": "7977:37:1" }, - "payable": false, "returnParameters": { - "id": 425, + "id": 426, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 424, + "id": 425, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 428, - "src": "7471:14:1", + "overrides": null, + "scope": 429, + "src": "8062:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15942,10 +21695,10 @@ "typeString": "int216" }, "typeName": { - "id": 423, + "id": 424, "name": "int216", "nodeType": "ElementaryTypeName", - "src": "7471:6:1", + "src": "8062:6:1", "typeDescriptions": { "typeIdentifier": "t_int216", "typeString": "int216" @@ -15955,76 +21708,120 @@ "visibility": "internal" } ], - "src": "7470:16:1" + "src": "8061:16:1" }, - "scope": 836, - "src": "7391:191:1", + "scope": 837, + "src": "7955:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 438, + "id": 439, "nodeType": "Block", - "src": "7684:95:1", + "src": "8301:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "8320:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8334:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "8355:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "8363:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8351:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "8351:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8345:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "8345:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "8334:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 435, - "isOffset": false, - "isSlot": false, - "src": "7726:7:1", - "valueSize": 1 - } + "declaration": 433, + "isOffset": false, + "isSlot": false, + "src": "8355:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 432, - "isOffset": false, - "isSlot": false, - "src": "7747:6:1", - "valueSize": 1 - } + "declaration": 431, + "isOffset": false, + "isSlot": false, + "src": "8363:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 430, - "isOffset": false, - "isSlot": false, - "src": "7755:6:1", - "valueSize": 1 - } + "declaration": 436, + "isOffset": false, + "isSlot": false, + "src": "8334:7:1", + "valueSize": 1 } ], - "id": 437, + "id": 438, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "7703:76:1" + "src": "8311:70:1" } ] }, "documentation": null, - "id": 439, + "id": 440, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt224", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 433, + "id": 434, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 430, + "id": 431, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 439, - "src": "7611:11:1", + "overrides": null, + "scope": 440, + "src": "8197:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16032,10 +21829,10 @@ "typeString": "uint256" }, "typeName": { - "id": 429, - "name": "uint", + "id": 430, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7611:4:1", + "src": "8197:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16046,11 +21843,12 @@ }, { "constant": false, - "id": 432, + "id": 433, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 439, - "src": "7624:19:1", + "overrides": null, + "scope": 440, + "src": "8213:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16058,10 +21856,10 @@ "typeString": "bytes" }, "typeName": { - "id": 431, + "id": 432, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7624:5:1", + "src": "8213:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16071,20 +21869,20 @@ "visibility": "internal" } ], - "src": "7610:34:1" + "src": "8196:37:1" }, - "payable": false, "returnParameters": { - "id": 436, + "id": 437, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 435, + "id": 436, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 439, - "src": "7668:14:1", + "overrides": null, + "scope": 440, + "src": "8281:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16092,10 +21890,10 @@ "typeString": "int224" }, "typeName": { - "id": 434, + "id": 435, "name": "int224", "nodeType": "ElementaryTypeName", - "src": "7668:6:1", + "src": "8281:6:1", "typeDescriptions": { "typeIdentifier": "t_int224", "typeString": "int224" @@ -16105,76 +21903,120 @@ "visibility": "internal" } ], - "src": "7667:16:1" + "src": "8280:16:1" }, - "scope": 836, - "src": "7588:191:1", + "scope": 837, + "src": "8174:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 449, + "id": 450, "nodeType": "Block", - "src": "7881:95:1", + "src": "8520:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "8539:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8553:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "8574:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "8582:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8570:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "8570:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8564:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "8564:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "8553:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 446, - "isOffset": false, - "isSlot": false, - "src": "7923:7:1", - "valueSize": 1 - } + "declaration": 444, + "isOffset": false, + "isSlot": false, + "src": "8574:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 443, - "isOffset": false, - "isSlot": false, - "src": "7944:6:1", - "valueSize": 1 - } + "declaration": 442, + "isOffset": false, + "isSlot": false, + "src": "8582:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 441, - "isOffset": false, - "isSlot": false, - "src": "7952:6:1", - "valueSize": 1 - } + "declaration": 447, + "isOffset": false, + "isSlot": false, + "src": "8553:7:1", + "valueSize": 1 } ], - "id": 448, + "id": 449, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "7900:76:1" + "src": "8530:70:1" } ] }, "documentation": null, - "id": 450, + "id": 451, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt232", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 444, + "id": 445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 441, + "id": 442, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 450, - "src": "7808:11:1", + "overrides": null, + "scope": 451, + "src": "8416:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16182,10 +22024,10 @@ "typeString": "uint256" }, "typeName": { - "id": 440, - "name": "uint", + "id": 441, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7808:4:1", + "src": "8416:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16196,11 +22038,12 @@ }, { "constant": false, - "id": 443, + "id": 444, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 450, - "src": "7821:19:1", + "overrides": null, + "scope": 451, + "src": "8432:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16208,10 +22051,10 @@ "typeString": "bytes" }, "typeName": { - "id": 442, + "id": 443, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7821:5:1", + "src": "8432:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16221,20 +22064,20 @@ "visibility": "internal" } ], - "src": "7807:34:1" + "src": "8415:37:1" }, - "payable": false, "returnParameters": { - "id": 447, + "id": 448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 446, + "id": 447, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 450, - "src": "7865:14:1", + "overrides": null, + "scope": 451, + "src": "8500:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16242,10 +22085,10 @@ "typeString": "int232" }, "typeName": { - "id": 445, + "id": 446, "name": "int232", "nodeType": "ElementaryTypeName", - "src": "7865:6:1", + "src": "8500:6:1", "typeDescriptions": { "typeIdentifier": "t_int232", "typeString": "int232" @@ -16255,76 +22098,120 @@ "visibility": "internal" } ], - "src": "7864:16:1" + "src": "8499:16:1" }, - "scope": 836, - "src": "7785:191:1", + "scope": 837, + "src": "8393:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 460, + "id": 461, "nodeType": "Block", - "src": "8078:95:1", + "src": "8739:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "8758:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8772:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "8793:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "8801:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8789:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "8789:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8783:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "8783:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "8772:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 457, - "isOffset": false, - "isSlot": false, - "src": "8120:7:1", - "valueSize": 1 - } + "declaration": 455, + "isOffset": false, + "isSlot": false, + "src": "8793:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 454, - "isOffset": false, - "isSlot": false, - "src": "8141:6:1", - "valueSize": 1 - } + "declaration": 453, + "isOffset": false, + "isSlot": false, + "src": "8801:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 452, - "isOffset": false, - "isSlot": false, - "src": "8149:6:1", - "valueSize": 1 - } + "declaration": 458, + "isOffset": false, + "isSlot": false, + "src": "8772:7:1", + "valueSize": 1 } ], - "id": 459, + "id": 460, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "8097:76:1" + "src": "8749:70:1" } ] }, "documentation": null, - "id": 461, + "id": 462, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt240", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 455, + "id": 456, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 452, + "id": 453, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 461, - "src": "8005:11:1", + "overrides": null, + "scope": 462, + "src": "8635:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16332,10 +22219,10 @@ "typeString": "uint256" }, "typeName": { - "id": 451, - "name": "uint", + "id": 452, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8005:4:1", + "src": "8635:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16346,11 +22233,12 @@ }, { "constant": false, - "id": 454, + "id": 455, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 461, - "src": "8018:19:1", + "overrides": null, + "scope": 462, + "src": "8651:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16358,10 +22246,10 @@ "typeString": "bytes" }, "typeName": { - "id": 453, + "id": 454, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8018:5:1", + "src": "8651:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16371,20 +22259,20 @@ "visibility": "internal" } ], - "src": "8004:34:1" + "src": "8634:37:1" }, - "payable": false, "returnParameters": { - "id": 458, + "id": 459, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 457, + "id": 458, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 461, - "src": "8062:14:1", + "overrides": null, + "scope": 462, + "src": "8719:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16392,10 +22280,10 @@ "typeString": "int240" }, "typeName": { - "id": 456, + "id": 457, "name": "int240", "nodeType": "ElementaryTypeName", - "src": "8062:6:1", + "src": "8719:6:1", "typeDescriptions": { "typeIdentifier": "t_int240", "typeString": "int240" @@ -16405,76 +22293,120 @@ "visibility": "internal" } ], - "src": "8061:16:1" + "src": "8718:16:1" }, - "scope": 836, - "src": "7982:191:1", + "scope": 837, + "src": "8612:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 471, + "id": 472, "nodeType": "Block", - "src": "8275:95:1", + "src": "8958:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "8977:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8991:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "9012:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "9020:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9008:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9008:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9002:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "9002:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "8991:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 468, - "isOffset": false, - "isSlot": false, - "src": "8317:7:1", - "valueSize": 1 - } + "declaration": 466, + "isOffset": false, + "isSlot": false, + "src": "9012:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 465, - "isOffset": false, - "isSlot": false, - "src": "8338:6:1", - "valueSize": 1 - } + "declaration": 464, + "isOffset": false, + "isSlot": false, + "src": "9020:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 463, - "isOffset": false, - "isSlot": false, - "src": "8346:6:1", - "valueSize": 1 - } + "declaration": 469, + "isOffset": false, + "isSlot": false, + "src": "8991:7:1", + "valueSize": 1 } ], - "id": 470, + "id": 471, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "8294:76:1" + "src": "8968:70:1" } ] }, "documentation": null, - "id": 472, + "id": 473, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt248", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 466, + "id": 467, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 463, + "id": 464, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 472, - "src": "8202:11:1", + "overrides": null, + "scope": 473, + "src": "8854:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16482,10 +22414,10 @@ "typeString": "uint256" }, "typeName": { - "id": 462, - "name": "uint", + "id": 463, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8202:4:1", + "src": "8854:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16496,11 +22428,12 @@ }, { "constant": false, - "id": 465, + "id": 466, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 472, - "src": "8215:19:1", + "overrides": null, + "scope": 473, + "src": "8870:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16508,10 +22441,10 @@ "typeString": "bytes" }, "typeName": { - "id": 464, + "id": 465, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8215:5:1", + "src": "8870:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16521,20 +22454,20 @@ "visibility": "internal" } ], - "src": "8201:34:1" + "src": "8853:37:1" }, - "payable": false, "returnParameters": { - "id": 469, + "id": 470, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 468, + "id": 469, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 472, - "src": "8259:14:1", + "overrides": null, + "scope": 473, + "src": "8938:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16542,10 +22475,10 @@ "typeString": "int248" }, "typeName": { - "id": 467, + "id": 468, "name": "int248", "nodeType": "ElementaryTypeName", - "src": "8259:6:1", + "src": "8938:6:1", "typeDescriptions": { "typeIdentifier": "t_int248", "typeString": "int248" @@ -16555,76 +22488,120 @@ "visibility": "internal" } ], - "src": "8258:16:1" + "src": "8937:16:1" }, - "scope": 836, - "src": "8179:191:1", + "scope": 837, + "src": "8831:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 482, + "id": 483, "nodeType": "Block", - "src": "8472:95:1", + "src": "9177:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "9196:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9210:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "9231:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "9239:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9227:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9227:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9221:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "9221:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "9210:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 479, - "isOffset": false, - "isSlot": false, - "src": "8514:7:1", - "valueSize": 1 - } + "declaration": 477, + "isOffset": false, + "isSlot": false, + "src": "9231:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 476, - "isOffset": false, - "isSlot": false, - "src": "8535:6:1", - "valueSize": 1 - } + "declaration": 475, + "isOffset": false, + "isSlot": false, + "src": "9239:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 474, - "isOffset": false, - "isSlot": false, - "src": "8543:6:1", - "valueSize": 1 - } + "declaration": 480, + "isOffset": false, + "isSlot": false, + "src": "9210:7:1", + "valueSize": 1 } ], - "id": 481, + "id": 482, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "8491:76:1" + "src": "9187:70:1" } ] }, "documentation": null, - "id": 483, + "id": 484, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToInt256", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 477, + "id": 478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 474, + "id": 475, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8399:11:1", + "overrides": null, + "scope": 484, + "src": "9073:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16632,10 +22609,10 @@ "typeString": "uint256" }, "typeName": { - "id": 473, - "name": "uint", + "id": 474, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8399:4:1", + "src": "9073:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16646,11 +22623,12 @@ }, { "constant": false, - "id": 476, + "id": 477, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8412:19:1", + "overrides": null, + "scope": 484, + "src": "9089:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16658,10 +22636,10 @@ "typeString": "bytes" }, "typeName": { - "id": 475, + "id": 476, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8412:5:1", + "src": "9089:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16671,20 +22649,20 @@ "visibility": "internal" } ], - "src": "8398:34:1" + "src": "9072:37:1" }, - "payable": false, "returnParameters": { - "id": 480, + "id": 481, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 479, + "id": 480, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8456:14:1", + "overrides": null, + "scope": 484, + "src": "9157:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16692,10 +22670,10 @@ "typeString": "int256" }, "typeName": { - "id": 478, + "id": 479, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "8456:6:1", + "src": "9157:6:1", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -16705,76 +22683,120 @@ "visibility": "internal" } ], - "src": "8455:16:1" + "src": "9156:16:1" }, - "scope": 836, - "src": "8376:191:1", + "scope": 837, + "src": "9050:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 493, + "id": 494, "nodeType": "Block", - "src": "8664:95:1", + "src": "9394:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "9413:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9427:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "9448:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "9456:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9444:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9444:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9438:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "9438:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "9427:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 490, - "isOffset": false, - "isSlot": false, - "src": "8706:7:1", - "valueSize": 1 - } + "declaration": 488, + "isOffset": false, + "isSlot": false, + "src": "9448:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 487, - "isOffset": false, - "isSlot": false, - "src": "8727:6:1", - "valueSize": 1 - } + "declaration": 486, + "isOffset": false, + "isSlot": false, + "src": "9456:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 485, - "isOffset": false, - "isSlot": false, - "src": "8735:6:1", - "valueSize": 1 - } + "declaration": 491, + "isOffset": false, + "isSlot": false, + "src": "9427:7:1", + "valueSize": 1 } ], - "id": 492, + "id": 493, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "8683:76:1" + "src": "9404:70:1" } ] }, "documentation": null, - "id": 494, + "id": 495, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint8", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 488, + "id": 489, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 485, + "id": 486, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "8592:11:1", + "overrides": null, + "scope": 495, + "src": "9291:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16782,10 +22804,10 @@ "typeString": "uint256" }, "typeName": { - "id": 484, - "name": "uint", + "id": 485, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8592:4:1", + "src": "9291:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16796,11 +22818,12 @@ }, { "constant": false, - "id": 487, + "id": 488, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "8605:19:1", + "overrides": null, + "scope": 495, + "src": "9307:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16808,10 +22831,10 @@ "typeString": "bytes" }, "typeName": { - "id": 486, + "id": 487, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8605:5:1", + "src": "9307:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16821,20 +22844,20 @@ "visibility": "internal" } ], - "src": "8591:34:1" + "src": "9290:37:1" }, - "payable": false, "returnParameters": { - "id": 491, + "id": 492, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 490, + "id": 491, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "8649:13:1", + "overrides": null, + "scope": 495, + "src": "9375:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16842,10 +22865,10 @@ "typeString": "uint8" }, "typeName": { - "id": 489, + "id": 490, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "8649:5:1", + "src": "9375:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16855,76 +22878,120 @@ "visibility": "internal" } ], - "src": "8648:15:1" + "src": "9374:15:1" }, - "scope": 836, - "src": "8570:189:1", + "scope": 837, + "src": "9269:211:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 504, + "id": 505, "nodeType": "Block", - "src": "8859:95:1", + "src": "9613:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "9632:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9646:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "9667:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "9675:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9663:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9663:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9657:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "9657:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "9646:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 501, - "isOffset": false, - "isSlot": false, - "src": "8901:7:1", - "valueSize": 1 - } + "declaration": 499, + "isOffset": false, + "isSlot": false, + "src": "9667:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 498, - "isOffset": false, - "isSlot": false, - "src": "8922:6:1", - "valueSize": 1 - } + "declaration": 497, + "isOffset": false, + "isSlot": false, + "src": "9675:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 496, - "isOffset": false, - "isSlot": false, - "src": "8930:6:1", - "valueSize": 1 - } + "declaration": 502, + "isOffset": false, + "isSlot": false, + "src": "9646:7:1", + "valueSize": 1 } ], - "id": 503, + "id": 504, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "8878:76:1" + "src": "9623:70:1" } ] }, "documentation": null, - "id": 505, + "id": 506, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint16", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 499, + "id": 500, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 496, + "id": 497, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 505, - "src": "8786:11:1", + "overrides": null, + "scope": 506, + "src": "9509:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16932,10 +22999,10 @@ "typeString": "uint256" }, "typeName": { - "id": 495, - "name": "uint", + "id": 496, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8786:4:1", + "src": "9509:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16946,11 +23013,12 @@ }, { "constant": false, - "id": 498, + "id": 499, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 505, - "src": "8799:19:1", + "overrides": null, + "scope": 506, + "src": "9525:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16958,10 +23026,10 @@ "typeString": "bytes" }, "typeName": { - "id": 497, + "id": 498, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8799:5:1", + "src": "9525:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16971,20 +23039,20 @@ "visibility": "internal" } ], - "src": "8785:34:1" + "src": "9508:37:1" }, - "payable": false, "returnParameters": { - "id": 502, + "id": 503, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 501, + "id": 502, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 505, - "src": "8843:14:1", + "overrides": null, + "scope": 506, + "src": "9593:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16992,10 +23060,10 @@ "typeString": "uint16" }, "typeName": { - "id": 500, + "id": 501, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "8843:6:1", + "src": "9593:6:1", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -17005,76 +23073,120 @@ "visibility": "internal" } ], - "src": "8842:16:1" + "src": "9592:16:1" }, - "scope": 836, - "src": "8763:191:1", + "scope": 837, + "src": "9486:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 515, + "id": 516, "nodeType": "Block", - "src": "9054:95:1", + "src": "9832:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "9851:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9865:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "9886:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "9894:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9882:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9882:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9876:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "9876:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "9865:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 512, - "isOffset": false, - "isSlot": false, - "src": "9096:7:1", - "valueSize": 1 - } + "declaration": 510, + "isOffset": false, + "isSlot": false, + "src": "9886:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 509, - "isOffset": false, - "isSlot": false, - "src": "9117:6:1", - "valueSize": 1 - } + "declaration": 508, + "isOffset": false, + "isSlot": false, + "src": "9894:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 507, - "isOffset": false, - "isSlot": false, - "src": "9125:6:1", - "valueSize": 1 - } + "declaration": 513, + "isOffset": false, + "isSlot": false, + "src": "9865:7:1", + "valueSize": 1 } ], - "id": 514, + "id": 515, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "9073:76:1" + "src": "9842:70:1" } ] }, "documentation": null, - "id": 516, + "id": 517, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint24", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 510, + "id": 511, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 507, + "id": 508, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 516, - "src": "8981:11:1", + "overrides": null, + "scope": 517, + "src": "9728:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17082,10 +23194,10 @@ "typeString": "uint256" }, "typeName": { - "id": 506, - "name": "uint", + "id": 507, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8981:4:1", + "src": "9728:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17096,11 +23208,12 @@ }, { "constant": false, - "id": 509, + "id": 510, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 516, - "src": "8994:19:1", + "overrides": null, + "scope": 517, + "src": "9744:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -17108,10 +23221,10 @@ "typeString": "bytes" }, "typeName": { - "id": 508, + "id": 509, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8994:5:1", + "src": "9744:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -17121,20 +23234,20 @@ "visibility": "internal" } ], - "src": "8980:34:1" + "src": "9727:37:1" }, - "payable": false, "returnParameters": { - "id": 513, + "id": 514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 512, + "id": 513, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 516, - "src": "9038:14:1", + "overrides": null, + "scope": 517, + "src": "9812:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17142,10 +23255,10 @@ "typeString": "uint24" }, "typeName": { - "id": 511, + "id": 512, "name": "uint24", "nodeType": "ElementaryTypeName", - "src": "9038:6:1", + "src": "9812:6:1", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" @@ -17155,76 +23268,120 @@ "visibility": "internal" } ], - "src": "9037:16:1" + "src": "9811:16:1" }, - "scope": 836, - "src": "8958:191:1", + "scope": 837, + "src": "9705:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 526, + "id": 527, "nodeType": "Block", - "src": "9249:95:1", + "src": "10051:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "10070:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10084:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "10105:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "10113:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10101:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10101:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10095:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "10095:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "10084:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 523, - "isOffset": false, - "isSlot": false, - "src": "9291:7:1", - "valueSize": 1 - } + "declaration": 521, + "isOffset": false, + "isSlot": false, + "src": "10105:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 520, - "isOffset": false, - "isSlot": false, - "src": "9312:6:1", - "valueSize": 1 - } + "declaration": 519, + "isOffset": false, + "isSlot": false, + "src": "10113:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 518, - "isOffset": false, - "isSlot": false, - "src": "9320:6:1", - "valueSize": 1 - } + "declaration": 524, + "isOffset": false, + "isSlot": false, + "src": "10084:7:1", + "valueSize": 1 } ], - "id": 525, + "id": 526, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "9268:76:1" + "src": "10061:70:1" } ] }, "documentation": null, - "id": 527, + "id": 528, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint32", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 521, + "id": 522, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 518, + "id": 519, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 527, - "src": "9176:11:1", + "overrides": null, + "scope": 528, + "src": "9947:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17232,10 +23389,10 @@ "typeString": "uint256" }, "typeName": { - "id": 517, - "name": "uint", + "id": 518, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9176:4:1", + "src": "9947:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17246,11 +23403,12 @@ }, { "constant": false, - "id": 520, + "id": 521, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 527, - "src": "9189:19:1", + "overrides": null, + "scope": 528, + "src": "9963:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -17258,10 +23416,10 @@ "typeString": "bytes" }, "typeName": { - "id": 519, + "id": 520, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9189:5:1", + "src": "9963:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -17271,20 +23429,20 @@ "visibility": "internal" } ], - "src": "9175:34:1" + "src": "9946:37:1" }, - "payable": false, "returnParameters": { - "id": 524, + "id": 525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 523, + "id": 524, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 527, - "src": "9233:14:1", + "overrides": null, + "scope": 528, + "src": "10031:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17292,10 +23450,10 @@ "typeString": "uint32" }, "typeName": { - "id": 522, + "id": 523, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "9233:6:1", + "src": "10031:6:1", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17305,76 +23463,120 @@ "visibility": "internal" } ], - "src": "9232:16:1" + "src": "10030:16:1" }, - "scope": 836, - "src": "9153:191:1", + "scope": 837, + "src": "9924:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 537, + "id": 538, "nodeType": "Block", - "src": "9444:95:1", + "src": "10270:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "10289:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10303:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "10324:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "10332:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10320:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10320:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10314:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "10314:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "10303:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 534, - "isOffset": false, - "isSlot": false, - "src": "9486:7:1", - "valueSize": 1 - } + "declaration": 532, + "isOffset": false, + "isSlot": false, + "src": "10324:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 531, - "isOffset": false, - "isSlot": false, - "src": "9507:6:1", - "valueSize": 1 - } + "declaration": 530, + "isOffset": false, + "isSlot": false, + "src": "10332:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 529, - "isOffset": false, - "isSlot": false, - "src": "9515:6:1", - "valueSize": 1 - } + "declaration": 535, + "isOffset": false, + "isSlot": false, + "src": "10303:7:1", + "valueSize": 1 } ], - "id": 536, + "id": 537, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "9463:76:1" + "src": "10280:70:1" } ] }, "documentation": null, - "id": 538, + "id": 539, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint40", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 532, + "id": 533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 529, + "id": 530, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 538, - "src": "9371:11:1", + "overrides": null, + "scope": 539, + "src": "10166:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17382,10 +23584,10 @@ "typeString": "uint256" }, "typeName": { - "id": 528, - "name": "uint", + "id": 529, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9371:4:1", + "src": "10166:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17396,11 +23598,12 @@ }, { "constant": false, - "id": 531, + "id": 532, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 538, - "src": "9384:19:1", + "overrides": null, + "scope": 539, + "src": "10182:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -17408,10 +23611,10 @@ "typeString": "bytes" }, "typeName": { - "id": 530, + "id": 531, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9384:5:1", + "src": "10182:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -17421,20 +23624,20 @@ "visibility": "internal" } ], - "src": "9370:34:1" + "src": "10165:37:1" }, - "payable": false, "returnParameters": { - "id": 535, + "id": 536, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 534, + "id": 535, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 538, - "src": "9428:14:1", + "overrides": null, + "scope": 539, + "src": "10250:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17442,10 +23645,10 @@ "typeString": "uint40" }, "typeName": { - "id": 533, + "id": 534, "name": "uint40", "nodeType": "ElementaryTypeName", - "src": "9428:6:1", + "src": "10250:6:1", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -17455,76 +23658,120 @@ "visibility": "internal" } ], - "src": "9427:16:1" + "src": "10249:16:1" }, - "scope": 836, - "src": "9348:191:1", + "scope": 837, + "src": "10143:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 548, + "id": 549, "nodeType": "Block", - "src": "9639:95:1", + "src": "10489:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "10508:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10522:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "10543:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "10551:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10539:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10539:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10533:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "10533:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "10522:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 545, - "isOffset": false, - "isSlot": false, - "src": "9681:7:1", - "valueSize": 1 - } + "declaration": 543, + "isOffset": false, + "isSlot": false, + "src": "10543:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 542, - "isOffset": false, - "isSlot": false, - "src": "9702:6:1", - "valueSize": 1 - } + "declaration": 541, + "isOffset": false, + "isSlot": false, + "src": "10551:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 540, - "isOffset": false, - "isSlot": false, - "src": "9710:6:1", - "valueSize": 1 - } + "declaration": 546, + "isOffset": false, + "isSlot": false, + "src": "10522:7:1", + "valueSize": 1 } ], - "id": 547, + "id": 548, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "9658:76:1" + "src": "10499:70:1" } ] }, "documentation": null, - "id": 549, + "id": 550, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint48", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 543, + "id": 544, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 540, + "id": 541, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 549, - "src": "9566:11:1", + "overrides": null, + "scope": 550, + "src": "10385:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17532,10 +23779,10 @@ "typeString": "uint256" }, "typeName": { - "id": 539, - "name": "uint", + "id": 540, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9566:4:1", + "src": "10385:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17546,11 +23793,12 @@ }, { "constant": false, - "id": 542, + "id": 543, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 549, - "src": "9579:19:1", + "overrides": null, + "scope": 550, + "src": "10401:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -17558,10 +23806,10 @@ "typeString": "bytes" }, "typeName": { - "id": 541, + "id": 542, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9579:5:1", + "src": "10401:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -17571,20 +23819,20 @@ "visibility": "internal" } ], - "src": "9565:34:1" + "src": "10384:37:1" }, - "payable": false, "returnParameters": { - "id": 546, + "id": 547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 545, + "id": 546, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 549, - "src": "9623:14:1", + "overrides": null, + "scope": 550, + "src": "10469:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17592,10 +23840,10 @@ "typeString": "uint48" }, "typeName": { - "id": 544, + "id": 545, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "9623:6:1", + "src": "10469:6:1", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -17605,76 +23853,120 @@ "visibility": "internal" } ], - "src": "9622:16:1" + "src": "10468:16:1" }, - "scope": 836, - "src": "9543:191:1", + "scope": 837, + "src": "10362:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 559, + "id": 560, "nodeType": "Block", - "src": "9834:95:1", + "src": "10708:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "10727:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10741:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "10762:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "10770:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10758:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10758:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10752:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "10752:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "10741:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 556, - "isOffset": false, - "isSlot": false, - "src": "9876:7:1", - "valueSize": 1 - } + "declaration": 554, + "isOffset": false, + "isSlot": false, + "src": "10762:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 553, - "isOffset": false, - "isSlot": false, - "src": "9897:6:1", - "valueSize": 1 - } + "declaration": 552, + "isOffset": false, + "isSlot": false, + "src": "10770:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 551, - "isOffset": false, - "isSlot": false, - "src": "9905:6:1", - "valueSize": 1 - } + "declaration": 557, + "isOffset": false, + "isSlot": false, + "src": "10741:7:1", + "valueSize": 1 } ], - "id": 558, + "id": 559, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "9853:76:1" + "src": "10718:70:1" } ] }, "documentation": null, - "id": 560, + "id": 561, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint56", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 554, + "id": 555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 551, + "id": 552, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 560, - "src": "9761:11:1", + "overrides": null, + "scope": 561, + "src": "10604:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17682,10 +23974,10 @@ "typeString": "uint256" }, "typeName": { - "id": 550, - "name": "uint", + "id": 551, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9761:4:1", + "src": "10604:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17696,11 +23988,12 @@ }, { "constant": false, - "id": 553, + "id": 554, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 560, - "src": "9774:19:1", + "overrides": null, + "scope": 561, + "src": "10620:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -17708,10 +24001,10 @@ "typeString": "bytes" }, "typeName": { - "id": 552, + "id": 553, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9774:5:1", + "src": "10620:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -17721,20 +24014,20 @@ "visibility": "internal" } ], - "src": "9760:34:1" + "src": "10603:37:1" }, - "payable": false, "returnParameters": { - "id": 557, + "id": 558, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 556, + "id": 557, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 560, - "src": "9818:14:1", + "overrides": null, + "scope": 561, + "src": "10688:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17742,10 +24035,10 @@ "typeString": "uint56" }, "typeName": { - "id": 555, + "id": 556, "name": "uint56", "nodeType": "ElementaryTypeName", - "src": "9818:6:1", + "src": "10688:6:1", "typeDescriptions": { "typeIdentifier": "t_uint56", "typeString": "uint56" @@ -17755,76 +24048,120 @@ "visibility": "internal" } ], - "src": "9817:16:1" + "src": "10687:16:1" }, - "scope": 836, - "src": "9738:191:1", + "scope": 837, + "src": "10581:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 570, + "id": 571, "nodeType": "Block", - "src": "10029:95:1", + "src": "10927:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "10946:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10960:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "10981:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "10989:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10977:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10977:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10971:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "10971:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "10960:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 567, - "isOffset": false, - "isSlot": false, - "src": "10071:7:1", - "valueSize": 1 - } + "declaration": 565, + "isOffset": false, + "isSlot": false, + "src": "10981:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 564, - "isOffset": false, - "isSlot": false, - "src": "10092:6:1", - "valueSize": 1 - } + "declaration": 563, + "isOffset": false, + "isSlot": false, + "src": "10989:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 562, - "isOffset": false, - "isSlot": false, - "src": "10100:6:1", - "valueSize": 1 - } + "declaration": 568, + "isOffset": false, + "isSlot": false, + "src": "10960:7:1", + "valueSize": 1 } ], - "id": 569, + "id": 570, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "10048:76:1" + "src": "10937:70:1" } ] }, "documentation": null, - "id": 571, + "id": 572, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint64", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 565, + "id": 566, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 562, + "id": 563, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "9956:11:1", + "overrides": null, + "scope": 572, + "src": "10823:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17832,10 +24169,10 @@ "typeString": "uint256" }, "typeName": { - "id": 561, - "name": "uint", + "id": 562, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9956:4:1", + "src": "10823:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17846,11 +24183,12 @@ }, { "constant": false, - "id": 564, + "id": 565, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "9969:19:1", + "overrides": null, + "scope": 572, + "src": "10839:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -17858,10 +24196,10 @@ "typeString": "bytes" }, "typeName": { - "id": 563, + "id": 564, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9969:5:1", + "src": "10839:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -17871,20 +24209,20 @@ "visibility": "internal" } ], - "src": "9955:34:1" + "src": "10822:37:1" }, - "payable": false, "returnParameters": { - "id": 568, + "id": 569, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 567, + "id": 568, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "10013:14:1", + "overrides": null, + "scope": 572, + "src": "10907:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17892,10 +24230,10 @@ "typeString": "uint64" }, "typeName": { - "id": 566, + "id": 567, "name": "uint64", "nodeType": "ElementaryTypeName", - "src": "10013:6:1", + "src": "10907:6:1", "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -17905,76 +24243,120 @@ "visibility": "internal" } ], - "src": "10012:16:1" + "src": "10906:16:1" }, - "scope": 836, - "src": "9933:191:1", + "scope": 837, + "src": "10800:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 581, + "id": 582, "nodeType": "Block", - "src": "10224:95:1", + "src": "11146:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "11165:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11179:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "11200:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "11208:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11196:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11196:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11190:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "11190:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "11179:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 578, - "isOffset": false, - "isSlot": false, - "src": "10266:7:1", - "valueSize": 1 - } + "declaration": 576, + "isOffset": false, + "isSlot": false, + "src": "11200:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 575, - "isOffset": false, - "isSlot": false, - "src": "10287:6:1", - "valueSize": 1 - } + "declaration": 574, + "isOffset": false, + "isSlot": false, + "src": "11208:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 573, - "isOffset": false, - "isSlot": false, - "src": "10295:6:1", - "valueSize": 1 - } + "declaration": 579, + "isOffset": false, + "isSlot": false, + "src": "11179:7:1", + "valueSize": 1 } ], - "id": 580, + "id": 581, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "10243:76:1" + "src": "11156:70:1" } ] }, "documentation": null, - "id": 582, + "id": 583, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint72", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 576, + "id": 577, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 573, + "id": 574, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10151:11:1", + "overrides": null, + "scope": 583, + "src": "11042:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17982,10 +24364,10 @@ "typeString": "uint256" }, "typeName": { - "id": 572, - "name": "uint", + "id": 573, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10151:4:1", + "src": "11042:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17996,11 +24378,12 @@ }, { "constant": false, - "id": 575, + "id": 576, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10164:19:1", + "overrides": null, + "scope": 583, + "src": "11058:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -18008,10 +24391,10 @@ "typeString": "bytes" }, "typeName": { - "id": 574, + "id": 575, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10164:5:1", + "src": "11058:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -18021,20 +24404,20 @@ "visibility": "internal" } ], - "src": "10150:34:1" + "src": "11041:37:1" }, - "payable": false, "returnParameters": { - "id": 579, + "id": 580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 578, + "id": 579, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10208:14:1", + "overrides": null, + "scope": 583, + "src": "11126:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18042,10 +24425,10 @@ "typeString": "uint72" }, "typeName": { - "id": 577, + "id": 578, "name": "uint72", "nodeType": "ElementaryTypeName", - "src": "10208:6:1", + "src": "11126:6:1", "typeDescriptions": { "typeIdentifier": "t_uint72", "typeString": "uint72" @@ -18055,76 +24438,120 @@ "visibility": "internal" } ], - "src": "10207:16:1" + "src": "11125:16:1" }, - "scope": 836, - "src": "10128:191:1", + "scope": 837, + "src": "11019:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 592, + "id": 593, "nodeType": "Block", - "src": "10419:95:1", + "src": "11365:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "11384:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11398:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "11419:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "11427:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11415:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11415:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11409:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "11409:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "11398:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 589, - "isOffset": false, - "isSlot": false, - "src": "10461:7:1", - "valueSize": 1 - } + "declaration": 587, + "isOffset": false, + "isSlot": false, + "src": "11419:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 586, - "isOffset": false, - "isSlot": false, - "src": "10482:6:1", - "valueSize": 1 - } + "declaration": 585, + "isOffset": false, + "isSlot": false, + "src": "11427:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 584, - "isOffset": false, - "isSlot": false, - "src": "10490:6:1", - "valueSize": 1 - } + "declaration": 590, + "isOffset": false, + "isSlot": false, + "src": "11398:7:1", + "valueSize": 1 } ], - "id": 591, + "id": 592, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "10438:76:1" + "src": "11375:70:1" } ] }, "documentation": null, - "id": 593, + "id": 594, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint80", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 587, + "id": 588, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 584, + "id": 585, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 593, - "src": "10346:11:1", + "overrides": null, + "scope": 594, + "src": "11261:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18132,10 +24559,10 @@ "typeString": "uint256" }, "typeName": { - "id": 583, - "name": "uint", + "id": 584, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10346:4:1", + "src": "11261:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18146,11 +24573,12 @@ }, { "constant": false, - "id": 586, + "id": 587, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 593, - "src": "10359:19:1", + "overrides": null, + "scope": 594, + "src": "11277:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -18158,10 +24586,10 @@ "typeString": "bytes" }, "typeName": { - "id": 585, + "id": 586, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10359:5:1", + "src": "11277:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -18171,20 +24599,20 @@ "visibility": "internal" } ], - "src": "10345:34:1" + "src": "11260:37:1" }, - "payable": false, "returnParameters": { - "id": 590, + "id": 591, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 589, + "id": 590, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 593, - "src": "10403:14:1", + "overrides": null, + "scope": 594, + "src": "11345:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18192,10 +24620,10 @@ "typeString": "uint80" }, "typeName": { - "id": 588, + "id": 589, "name": "uint80", "nodeType": "ElementaryTypeName", - "src": "10403:6:1", + "src": "11345:6:1", "typeDescriptions": { "typeIdentifier": "t_uint80", "typeString": "uint80" @@ -18205,76 +24633,120 @@ "visibility": "internal" } ], - "src": "10402:16:1" + "src": "11344:16:1" }, - "scope": 836, - "src": "10323:191:1", + "scope": 837, + "src": "11238:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 603, + "id": 604, "nodeType": "Block", - "src": "10614:95:1", + "src": "11584:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "11603:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11617:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "11638:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "11646:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11634:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11634:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11628:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "11628:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "11617:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 600, - "isOffset": false, - "isSlot": false, - "src": "10656:7:1", - "valueSize": 1 - } + "declaration": 598, + "isOffset": false, + "isSlot": false, + "src": "11638:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 597, - "isOffset": false, - "isSlot": false, - "src": "10677:6:1", - "valueSize": 1 - } + "declaration": 596, + "isOffset": false, + "isSlot": false, + "src": "11646:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 595, - "isOffset": false, - "isSlot": false, - "src": "10685:6:1", - "valueSize": 1 - } + "declaration": 601, + "isOffset": false, + "isSlot": false, + "src": "11617:7:1", + "valueSize": 1 } ], - "id": 602, + "id": 603, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "10633:76:1" + "src": "11594:70:1" } ] }, "documentation": null, - "id": 604, + "id": 605, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint88", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 598, + "id": 599, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 595, + "id": 596, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 604, - "src": "10541:11:1", + "overrides": null, + "scope": 605, + "src": "11480:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18282,10 +24754,10 @@ "typeString": "uint256" }, "typeName": { - "id": 594, - "name": "uint", + "id": 595, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10541:4:1", + "src": "11480:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18296,11 +24768,12 @@ }, { "constant": false, - "id": 597, + "id": 598, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 604, - "src": "10554:19:1", + "overrides": null, + "scope": 605, + "src": "11496:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -18308,10 +24781,10 @@ "typeString": "bytes" }, "typeName": { - "id": 596, + "id": 597, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10554:5:1", + "src": "11496:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -18321,20 +24794,20 @@ "visibility": "internal" } ], - "src": "10540:34:1" + "src": "11479:37:1" }, - "payable": false, "returnParameters": { - "id": 601, + "id": 602, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 600, + "id": 601, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 604, - "src": "10598:14:1", + "overrides": null, + "scope": 605, + "src": "11564:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18342,10 +24815,10 @@ "typeString": "uint88" }, "typeName": { - "id": 599, + "id": 600, "name": "uint88", "nodeType": "ElementaryTypeName", - "src": "10598:6:1", + "src": "11564:6:1", "typeDescriptions": { "typeIdentifier": "t_uint88", "typeString": "uint88" @@ -18355,76 +24828,120 @@ "visibility": "internal" } ], - "src": "10597:16:1" + "src": "11563:16:1" }, - "scope": 836, - "src": "10518:191:1", + "scope": 837, + "src": "11457:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 614, + "id": 615, "nodeType": "Block", - "src": "10809:95:1", + "src": "11803:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "11822:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11836:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "11857:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "11865:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11853:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11853:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11847:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "11847:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "11836:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 611, - "isOffset": false, - "isSlot": false, - "src": "10851:7:1", - "valueSize": 1 - } + "declaration": 609, + "isOffset": false, + "isSlot": false, + "src": "11857:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 608, - "isOffset": false, - "isSlot": false, - "src": "10872:6:1", - "valueSize": 1 - } + "declaration": 607, + "isOffset": false, + "isSlot": false, + "src": "11865:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 606, - "isOffset": false, - "isSlot": false, - "src": "10880:6:1", - "valueSize": 1 - } + "declaration": 612, + "isOffset": false, + "isSlot": false, + "src": "11836:7:1", + "valueSize": 1 } ], - "id": 613, + "id": 614, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "10828:76:1" + "src": "11813:70:1" } ] }, "documentation": null, - "id": 615, + "id": 616, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint96", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 609, + "id": 610, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 606, + "id": 607, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 615, - "src": "10736:11:1", + "overrides": null, + "scope": 616, + "src": "11699:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18432,10 +24949,10 @@ "typeString": "uint256" }, "typeName": { - "id": 605, - "name": "uint", + "id": 606, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10736:4:1", + "src": "11699:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18446,11 +24963,12 @@ }, { "constant": false, - "id": 608, + "id": 609, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 615, - "src": "10749:19:1", + "overrides": null, + "scope": 616, + "src": "11715:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -18458,10 +24976,10 @@ "typeString": "bytes" }, "typeName": { - "id": 607, + "id": 608, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10749:5:1", + "src": "11715:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -18471,20 +24989,20 @@ "visibility": "internal" } ], - "src": "10735:34:1" + "src": "11698:37:1" }, - "payable": false, "returnParameters": { - "id": 612, + "id": 613, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 611, + "id": 612, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 615, - "src": "10793:14:1", + "overrides": null, + "scope": 616, + "src": "11783:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18492,10 +25010,10 @@ "typeString": "uint96" }, "typeName": { - "id": 610, + "id": 611, "name": "uint96", "nodeType": "ElementaryTypeName", - "src": "10793:6:1", + "src": "11783:6:1", "typeDescriptions": { "typeIdentifier": "t_uint96", "typeString": "uint96" @@ -18505,76 +25023,120 @@ "visibility": "internal" } ], - "src": "10792:16:1" + "src": "11782:16:1" }, - "scope": 836, - "src": "10713:191:1", + "scope": 837, + "src": "11676:213:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 625, + "id": 626, "nodeType": "Block", - "src": "11007:95:1", + "src": "12024:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "12043:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12057:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "12078:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "12086:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12074:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12074:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12068:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "12068:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "12057:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 622, - "isOffset": false, - "isSlot": false, - "src": "11049:7:1", - "valueSize": 1 - } + "declaration": 620, + "isOffset": false, + "isSlot": false, + "src": "12078:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 619, - "isOffset": false, - "isSlot": false, - "src": "11070:6:1", - "valueSize": 1 - } + "declaration": 618, + "isOffset": false, + "isSlot": false, + "src": "12086:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 617, - "isOffset": false, - "isSlot": false, - "src": "11078:6:1", - "valueSize": 1 - } + "declaration": 623, + "isOffset": false, + "isSlot": false, + "src": "12057:7:1", + "valueSize": 1 } ], - "id": 624, + "id": 625, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "11026:76:1" + "src": "12034:70:1" } ] }, "documentation": null, - "id": 626, + "id": 627, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint104", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 620, + "id": 621, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 617, + "id": 618, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "10933:11:1", + "overrides": null, + "scope": 627, + "src": "11919:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18582,10 +25144,10 @@ "typeString": "uint256" }, "typeName": { - "id": 616, - "name": "uint", + "id": 617, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10933:4:1", + "src": "11919:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18596,11 +25158,12 @@ }, { "constant": false, - "id": 619, + "id": 620, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "10946:19:1", + "overrides": null, + "scope": 627, + "src": "11935:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -18608,10 +25171,10 @@ "typeString": "bytes" }, "typeName": { - "id": 618, + "id": 619, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10946:5:1", + "src": "11935:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -18621,20 +25184,20 @@ "visibility": "internal" } ], - "src": "10932:34:1" + "src": "11918:37:1" }, - "payable": false, "returnParameters": { - "id": 623, + "id": 624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 622, + "id": 623, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "10990:15:1", + "overrides": null, + "scope": 627, + "src": "12003:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18642,10 +25205,10 @@ "typeString": "uint104" }, "typeName": { - "id": 621, + "id": 622, "name": "uint104", "nodeType": "ElementaryTypeName", - "src": "10990:7:1", + "src": "12003:7:1", "typeDescriptions": { "typeIdentifier": "t_uint104", "typeString": "uint104" @@ -18655,76 +25218,120 @@ "visibility": "internal" } ], - "src": "10989:17:1" + "src": "12002:17:1" }, - "scope": 836, - "src": "10909:193:1", + "scope": 837, + "src": "11895:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 636, + "id": 637, "nodeType": "Block", - "src": "11207:95:1", + "src": "12245:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "12264:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12278:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "12299:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "12307:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12295:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12295:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12289:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "12289:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "12278:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 633, - "isOffset": false, - "isSlot": false, - "src": "11249:7:1", - "valueSize": 1 - } + "declaration": 631, + "isOffset": false, + "isSlot": false, + "src": "12299:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 630, - "isOffset": false, - "isSlot": false, - "src": "11270:6:1", - "valueSize": 1 - } + "declaration": 629, + "isOffset": false, + "isSlot": false, + "src": "12307:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 628, - "isOffset": false, - "isSlot": false, - "src": "11278:6:1", - "valueSize": 1 - } + "declaration": 634, + "isOffset": false, + "isSlot": false, + "src": "12278:7:1", + "valueSize": 1 } ], - "id": 635, + "id": 636, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "11226:76:1" + "src": "12255:70:1" } ] }, "documentation": null, - "id": 637, + "id": 638, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint112", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 631, + "id": 632, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 628, + "id": 629, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11133:11:1", + "overrides": null, + "scope": 638, + "src": "12140:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18732,10 +25339,10 @@ "typeString": "uint256" }, "typeName": { - "id": 627, - "name": "uint", + "id": 628, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11133:4:1", + "src": "12140:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18746,11 +25353,12 @@ }, { "constant": false, - "id": 630, + "id": 631, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11146:19:1", + "overrides": null, + "scope": 638, + "src": "12156:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -18758,10 +25366,10 @@ "typeString": "bytes" }, "typeName": { - "id": 629, + "id": 630, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11146:5:1", + "src": "12156:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -18771,20 +25379,20 @@ "visibility": "internal" } ], - "src": "11132:34:1" + "src": "12139:37:1" }, - "payable": false, "returnParameters": { - "id": 634, + "id": 635, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 633, + "id": 634, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11190:15:1", + "overrides": null, + "scope": 638, + "src": "12224:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18792,10 +25400,10 @@ "typeString": "uint112" }, "typeName": { - "id": 632, + "id": 633, "name": "uint112", "nodeType": "ElementaryTypeName", - "src": "11190:7:1", + "src": "12224:7:1", "typeDescriptions": { "typeIdentifier": "t_uint112", "typeString": "uint112" @@ -18805,76 +25413,120 @@ "visibility": "internal" } ], - "src": "11189:17:1" + "src": "12223:17:1" }, - "scope": 836, - "src": "11109:193:1", + "scope": 837, + "src": "12116:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 647, + "id": 648, "nodeType": "Block", - "src": "11407:95:1", + "src": "12466:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "12485:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12499:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "12520:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "12528:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12516:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12516:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12510:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "12510:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "12499:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 644, - "isOffset": false, - "isSlot": false, - "src": "11449:7:1", - "valueSize": 1 - } + "declaration": 642, + "isOffset": false, + "isSlot": false, + "src": "12520:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 641, - "isOffset": false, - "isSlot": false, - "src": "11470:6:1", - "valueSize": 1 - } + "declaration": 640, + "isOffset": false, + "isSlot": false, + "src": "12528:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 639, - "isOffset": false, - "isSlot": false, - "src": "11478:6:1", - "valueSize": 1 - } + "declaration": 645, + "isOffset": false, + "isSlot": false, + "src": "12499:7:1", + "valueSize": 1 } ], - "id": 646, + "id": 647, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "11426:76:1" + "src": "12476:70:1" } ] }, "documentation": null, - "id": 648, + "id": 649, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint120", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 642, + "id": 643, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 639, + "id": 640, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 648, - "src": "11333:11:1", + "overrides": null, + "scope": 649, + "src": "12361:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18882,10 +25534,10 @@ "typeString": "uint256" }, "typeName": { - "id": 638, - "name": "uint", + "id": 639, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11333:4:1", + "src": "12361:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18896,11 +25548,12 @@ }, { "constant": false, - "id": 641, + "id": 642, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 648, - "src": "11346:19:1", + "overrides": null, + "scope": 649, + "src": "12377:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -18908,10 +25561,10 @@ "typeString": "bytes" }, "typeName": { - "id": 640, + "id": 641, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11346:5:1", + "src": "12377:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -18921,20 +25574,20 @@ "visibility": "internal" } ], - "src": "11332:34:1" + "src": "12360:37:1" }, - "payable": false, "returnParameters": { - "id": 645, + "id": 646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 644, + "id": 645, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 648, - "src": "11390:15:1", + "overrides": null, + "scope": 649, + "src": "12445:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18942,10 +25595,10 @@ "typeString": "uint120" }, "typeName": { - "id": 643, + "id": 644, "name": "uint120", "nodeType": "ElementaryTypeName", - "src": "11390:7:1", + "src": "12445:7:1", "typeDescriptions": { "typeIdentifier": "t_uint120", "typeString": "uint120" @@ -18955,76 +25608,120 @@ "visibility": "internal" } ], - "src": "11389:17:1" + "src": "12444:17:1" }, - "scope": 836, - "src": "11309:193:1", + "scope": 837, + "src": "12337:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 658, + "id": 659, "nodeType": "Block", - "src": "11607:95:1", + "src": "12687:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "12706:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12720:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "12741:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "12749:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12737:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12737:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12731:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "12731:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "12720:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 655, - "isOffset": false, - "isSlot": false, - "src": "11649:7:1", - "valueSize": 1 - } + "declaration": 653, + "isOffset": false, + "isSlot": false, + "src": "12741:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 652, - "isOffset": false, - "isSlot": false, - "src": "11670:6:1", - "valueSize": 1 - } + "declaration": 651, + "isOffset": false, + "isSlot": false, + "src": "12749:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 650, - "isOffset": false, - "isSlot": false, - "src": "11678:6:1", - "valueSize": 1 - } + "declaration": 656, + "isOffset": false, + "isSlot": false, + "src": "12720:7:1", + "valueSize": 1 } ], - "id": 657, + "id": 658, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "11626:76:1" + "src": "12697:70:1" } ] }, "documentation": null, - "id": 659, + "id": 660, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint128", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 653, + "id": 654, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 650, + "id": 651, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 659, - "src": "11533:11:1", + "overrides": null, + "scope": 660, + "src": "12582:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19032,10 +25729,10 @@ "typeString": "uint256" }, "typeName": { - "id": 649, - "name": "uint", + "id": 650, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11533:4:1", + "src": "12582:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19046,11 +25743,12 @@ }, { "constant": false, - "id": 652, + "id": 653, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 659, - "src": "11546:19:1", + "overrides": null, + "scope": 660, + "src": "12598:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -19058,10 +25756,10 @@ "typeString": "bytes" }, "typeName": { - "id": 651, + "id": 652, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11546:5:1", + "src": "12598:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -19071,20 +25769,20 @@ "visibility": "internal" } ], - "src": "11532:34:1" + "src": "12581:37:1" }, - "payable": false, "returnParameters": { - "id": 656, + "id": 657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 655, + "id": 656, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 659, - "src": "11590:15:1", + "overrides": null, + "scope": 660, + "src": "12666:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19092,10 +25790,10 @@ "typeString": "uint128" }, "typeName": { - "id": 654, + "id": 655, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "11590:7:1", + "src": "12666:7:1", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -19105,76 +25803,120 @@ "visibility": "internal" } ], - "src": "11589:17:1" + "src": "12665:17:1" }, - "scope": 836, - "src": "11509:193:1", + "scope": 837, + "src": "12558:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 669, + "id": 670, "nodeType": "Block", - "src": "11807:95:1", + "src": "12908:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "12927:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12941:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "12962:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "12970:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12958:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12958:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12952:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "12952:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "12941:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 666, - "isOffset": false, - "isSlot": false, - "src": "11849:7:1", - "valueSize": 1 - } + "declaration": 664, + "isOffset": false, + "isSlot": false, + "src": "12962:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 663, - "isOffset": false, - "isSlot": false, - "src": "11870:6:1", - "valueSize": 1 - } + "declaration": 662, + "isOffset": false, + "isSlot": false, + "src": "12970:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 661, - "isOffset": false, - "isSlot": false, - "src": "11878:6:1", - "valueSize": 1 - } + "declaration": 667, + "isOffset": false, + "isSlot": false, + "src": "12941:7:1", + "valueSize": 1 } ], - "id": 668, + "id": 669, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "11826:76:1" + "src": "12918:70:1" } ] }, "documentation": null, - "id": 670, + "id": 671, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint136", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 664, + "id": 665, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 661, + "id": 662, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 670, - "src": "11733:11:1", + "overrides": null, + "scope": 671, + "src": "12803:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19182,10 +25924,10 @@ "typeString": "uint256" }, "typeName": { - "id": 660, - "name": "uint", + "id": 661, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11733:4:1", + "src": "12803:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19196,11 +25938,12 @@ }, { "constant": false, - "id": 663, + "id": 664, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 670, - "src": "11746:19:1", + "overrides": null, + "scope": 671, + "src": "12819:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -19208,10 +25951,10 @@ "typeString": "bytes" }, "typeName": { - "id": 662, + "id": 663, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11746:5:1", + "src": "12819:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -19221,20 +25964,20 @@ "visibility": "internal" } ], - "src": "11732:34:1" + "src": "12802:37:1" }, - "payable": false, "returnParameters": { - "id": 667, + "id": 668, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 666, + "id": 667, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 670, - "src": "11790:15:1", + "overrides": null, + "scope": 671, + "src": "12887:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19242,10 +25985,10 @@ "typeString": "uint136" }, "typeName": { - "id": 665, + "id": 666, "name": "uint136", "nodeType": "ElementaryTypeName", - "src": "11790:7:1", + "src": "12887:7:1", "typeDescriptions": { "typeIdentifier": "t_uint136", "typeString": "uint136" @@ -19255,76 +25998,120 @@ "visibility": "internal" } ], - "src": "11789:17:1" + "src": "12886:17:1" }, - "scope": 836, - "src": "11709:193:1", + "scope": 837, + "src": "12779:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 680, + "id": 681, "nodeType": "Block", - "src": "12007:95:1", + "src": "13129:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "13148:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13162:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "13183:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "13191:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13179:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "13179:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13173:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "13173:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "13162:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 677, - "isOffset": false, - "isSlot": false, - "src": "12049:7:1", - "valueSize": 1 - } + "declaration": 675, + "isOffset": false, + "isSlot": false, + "src": "13183:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 674, - "isOffset": false, - "isSlot": false, - "src": "12070:6:1", - "valueSize": 1 - } + "declaration": 673, + "isOffset": false, + "isSlot": false, + "src": "13191:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 672, - "isOffset": false, - "isSlot": false, - "src": "12078:6:1", - "valueSize": 1 - } + "declaration": 678, + "isOffset": false, + "isSlot": false, + "src": "13162:7:1", + "valueSize": 1 } ], - "id": 679, + "id": 680, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "12026:76:1" + "src": "13139:70:1" } ] }, "documentation": null, - "id": 681, + "id": 682, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint144", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 675, + "id": 676, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 672, + "id": 673, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 681, - "src": "11933:11:1", + "overrides": null, + "scope": 682, + "src": "13024:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19332,10 +26119,10 @@ "typeString": "uint256" }, "typeName": { - "id": 671, - "name": "uint", + "id": 672, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11933:4:1", + "src": "13024:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19346,11 +26133,12 @@ }, { "constant": false, - "id": 674, + "id": 675, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 681, - "src": "11946:19:1", + "overrides": null, + "scope": 682, + "src": "13040:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -19358,10 +26146,10 @@ "typeString": "bytes" }, "typeName": { - "id": 673, + "id": 674, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11946:5:1", + "src": "13040:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -19371,20 +26159,20 @@ "visibility": "internal" } ], - "src": "11932:34:1" + "src": "13023:37:1" }, - "payable": false, "returnParameters": { - "id": 678, + "id": 679, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 677, + "id": 678, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 681, - "src": "11990:15:1", + "overrides": null, + "scope": 682, + "src": "13108:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19392,10 +26180,10 @@ "typeString": "uint144" }, "typeName": { - "id": 676, + "id": 677, "name": "uint144", "nodeType": "ElementaryTypeName", - "src": "11990:7:1", + "src": "13108:7:1", "typeDescriptions": { "typeIdentifier": "t_uint144", "typeString": "uint144" @@ -19405,76 +26193,120 @@ "visibility": "internal" } ], - "src": "11989:17:1" + "src": "13107:17:1" }, - "scope": 836, - "src": "11909:193:1", + "scope": 837, + "src": "13000:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 691, + "id": 692, "nodeType": "Block", - "src": "12207:95:1", + "src": "13350:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "13369:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13383:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "13404:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "13412:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13400:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "13400:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13394:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "13394:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "13383:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 688, - "isOffset": false, - "isSlot": false, - "src": "12249:7:1", - "valueSize": 1 - } + "declaration": 686, + "isOffset": false, + "isSlot": false, + "src": "13404:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 685, - "isOffset": false, - "isSlot": false, - "src": "12270:6:1", - "valueSize": 1 - } + "declaration": 684, + "isOffset": false, + "isSlot": false, + "src": "13412:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 683, - "isOffset": false, - "isSlot": false, - "src": "12278:6:1", - "valueSize": 1 - } + "declaration": 689, + "isOffset": false, + "isSlot": false, + "src": "13383:7:1", + "valueSize": 1 } ], - "id": 690, + "id": 691, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "12226:76:1" + "src": "13360:70:1" } ] }, "documentation": null, - "id": 692, + "id": 693, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint152", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 686, + "id": 687, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 683, + "id": 684, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 692, - "src": "12133:11:1", + "overrides": null, + "scope": 693, + "src": "13245:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19482,10 +26314,10 @@ "typeString": "uint256" }, "typeName": { - "id": 682, - "name": "uint", + "id": 683, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12133:4:1", + "src": "13245:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19496,11 +26328,12 @@ }, { "constant": false, - "id": 685, + "id": 686, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 692, - "src": "12146:19:1", + "overrides": null, + "scope": 693, + "src": "13261:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -19508,10 +26341,10 @@ "typeString": "bytes" }, "typeName": { - "id": 684, + "id": 685, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12146:5:1", + "src": "13261:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -19521,20 +26354,20 @@ "visibility": "internal" } ], - "src": "12132:34:1" + "src": "13244:37:1" }, - "payable": false, "returnParameters": { - "id": 689, + "id": 690, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 688, + "id": 689, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 692, - "src": "12190:15:1", + "overrides": null, + "scope": 693, + "src": "13329:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19542,10 +26375,10 @@ "typeString": "uint152" }, "typeName": { - "id": 687, + "id": 688, "name": "uint152", "nodeType": "ElementaryTypeName", - "src": "12190:7:1", + "src": "13329:7:1", "typeDescriptions": { "typeIdentifier": "t_uint152", "typeString": "uint152" @@ -19555,76 +26388,120 @@ "visibility": "internal" } ], - "src": "12189:17:1" + "src": "13328:17:1" }, - "scope": 836, - "src": "12109:193:1", + "scope": 837, + "src": "13221:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 702, + "id": 703, "nodeType": "Block", - "src": "12407:95:1", + "src": "13571:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "13590:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13604:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "13625:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "13633:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13621:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "13621:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13615:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "13615:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "13604:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 699, - "isOffset": false, - "isSlot": false, - "src": "12449:7:1", - "valueSize": 1 - } + "declaration": 697, + "isOffset": false, + "isSlot": false, + "src": "13625:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 696, - "isOffset": false, - "isSlot": false, - "src": "12470:6:1", - "valueSize": 1 - } + "declaration": 695, + "isOffset": false, + "isSlot": false, + "src": "13633:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 694, - "isOffset": false, - "isSlot": false, - "src": "12478:6:1", - "valueSize": 1 - } + "declaration": 700, + "isOffset": false, + "isSlot": false, + "src": "13604:7:1", + "valueSize": 1 } ], - "id": 701, + "id": 702, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "12426:76:1" + "src": "13581:70:1" } ] }, "documentation": null, - "id": 703, + "id": 704, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint160", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 697, + "id": 698, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 694, + "id": 695, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 703, - "src": "12333:11:1", + "overrides": null, + "scope": 704, + "src": "13466:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19632,10 +26509,10 @@ "typeString": "uint256" }, "typeName": { - "id": 693, - "name": "uint", + "id": 694, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12333:4:1", + "src": "13466:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19646,11 +26523,12 @@ }, { "constant": false, - "id": 696, + "id": 697, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 703, - "src": "12346:19:1", + "overrides": null, + "scope": 704, + "src": "13482:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -19658,10 +26536,10 @@ "typeString": "bytes" }, "typeName": { - "id": 695, + "id": 696, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12346:5:1", + "src": "13482:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -19671,20 +26549,20 @@ "visibility": "internal" } ], - "src": "12332:34:1" + "src": "13465:37:1" }, - "payable": false, "returnParameters": { - "id": 700, + "id": 701, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 699, + "id": 700, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 703, - "src": "12390:15:1", + "overrides": null, + "scope": 704, + "src": "13550:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19692,10 +26570,10 @@ "typeString": "uint160" }, "typeName": { - "id": 698, + "id": 699, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "12390:7:1", + "src": "13550:7:1", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -19705,76 +26583,120 @@ "visibility": "internal" } ], - "src": "12389:17:1" + "src": "13549:17:1" }, - "scope": 836, - "src": "12309:193:1", + "scope": 837, + "src": "13442:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 713, + "id": 714, "nodeType": "Block", - "src": "12607:95:1", + "src": "13792:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "13811:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13825:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "13846:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "13854:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13842:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "13842:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13836:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "13836:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "13825:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 710, - "isOffset": false, - "isSlot": false, - "src": "12649:7:1", - "valueSize": 1 - } + "declaration": 708, + "isOffset": false, + "isSlot": false, + "src": "13846:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 707, - "isOffset": false, - "isSlot": false, - "src": "12670:6:1", - "valueSize": 1 - } + "declaration": 706, + "isOffset": false, + "isSlot": false, + "src": "13854:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 705, - "isOffset": false, - "isSlot": false, - "src": "12678:6:1", - "valueSize": 1 - } + "declaration": 711, + "isOffset": false, + "isSlot": false, + "src": "13825:7:1", + "valueSize": 1 } ], - "id": 712, + "id": 713, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "12626:76:1" + "src": "13802:70:1" } ] }, "documentation": null, - "id": 714, + "id": 715, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint168", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 708, + "id": 709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 705, + "id": 706, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "12533:11:1", + "overrides": null, + "scope": 715, + "src": "13687:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19782,10 +26704,10 @@ "typeString": "uint256" }, "typeName": { - "id": 704, - "name": "uint", + "id": 705, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12533:4:1", + "src": "13687:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19796,11 +26718,12 @@ }, { "constant": false, - "id": 707, + "id": 708, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "12546:19:1", + "overrides": null, + "scope": 715, + "src": "13703:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -19808,10 +26731,10 @@ "typeString": "bytes" }, "typeName": { - "id": 706, + "id": 707, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12546:5:1", + "src": "13703:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -19821,20 +26744,20 @@ "visibility": "internal" } ], - "src": "12532:34:1" + "src": "13686:37:1" }, - "payable": false, "returnParameters": { - "id": 711, + "id": 712, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 710, + "id": 711, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "12590:15:1", + "overrides": null, + "scope": 715, + "src": "13771:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19842,10 +26765,10 @@ "typeString": "uint168" }, "typeName": { - "id": 709, + "id": 710, "name": "uint168", "nodeType": "ElementaryTypeName", - "src": "12590:7:1", + "src": "13771:7:1", "typeDescriptions": { "typeIdentifier": "t_uint168", "typeString": "uint168" @@ -19855,76 +26778,120 @@ "visibility": "internal" } ], - "src": "12589:17:1" + "src": "13770:17:1" }, - "scope": 836, - "src": "12509:193:1", + "scope": 837, + "src": "13663:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 724, + "id": 725, "nodeType": "Block", - "src": "12807:95:1", + "src": "14013:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "14032:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14046:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "14067:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "14075:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14063:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "14063:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14057:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "14057:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "14046:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 721, - "isOffset": false, - "isSlot": false, - "src": "12849:7:1", - "valueSize": 1 - } + "declaration": 719, + "isOffset": false, + "isSlot": false, + "src": "14067:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 718, - "isOffset": false, - "isSlot": false, - "src": "12870:6:1", - "valueSize": 1 - } + "declaration": 717, + "isOffset": false, + "isSlot": false, + "src": "14075:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 716, - "isOffset": false, - "isSlot": false, - "src": "12878:6:1", - "valueSize": 1 - } + "declaration": 722, + "isOffset": false, + "isSlot": false, + "src": "14046:7:1", + "valueSize": 1 } ], - "id": 723, + "id": 724, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "12826:76:1" + "src": "14023:70:1" } ] }, "documentation": null, - "id": 725, + "id": 726, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint176", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 719, + "id": 720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 716, + "id": 717, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 725, - "src": "12733:11:1", + "overrides": null, + "scope": 726, + "src": "13908:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19932,10 +26899,10 @@ "typeString": "uint256" }, "typeName": { - "id": 715, - "name": "uint", + "id": 716, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12733:4:1", + "src": "13908:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19946,11 +26913,12 @@ }, { "constant": false, - "id": 718, + "id": 719, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 725, - "src": "12746:19:1", + "overrides": null, + "scope": 726, + "src": "13924:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -19958,10 +26926,10 @@ "typeString": "bytes" }, "typeName": { - "id": 717, + "id": 718, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12746:5:1", + "src": "13924:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -19971,20 +26939,20 @@ "visibility": "internal" } ], - "src": "12732:34:1" + "src": "13907:37:1" }, - "payable": false, "returnParameters": { - "id": 722, + "id": 723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 721, + "id": 722, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 725, - "src": "12790:15:1", + "overrides": null, + "scope": 726, + "src": "13992:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19992,10 +26960,10 @@ "typeString": "uint176" }, "typeName": { - "id": 720, + "id": 721, "name": "uint176", "nodeType": "ElementaryTypeName", - "src": "12790:7:1", + "src": "13992:7:1", "typeDescriptions": { "typeIdentifier": "t_uint176", "typeString": "uint176" @@ -20005,76 +26973,120 @@ "visibility": "internal" } ], - "src": "12789:17:1" + "src": "13991:17:1" }, - "scope": 836, - "src": "12709:193:1", + "scope": 837, + "src": "13884:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 735, + "id": 736, "nodeType": "Block", - "src": "13007:95:1", + "src": "14234:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "14253:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14267:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "14288:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "14296:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14284:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "14284:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14278:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "14278:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "14267:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 732, - "isOffset": false, - "isSlot": false, - "src": "13049:7:1", - "valueSize": 1 - } + "declaration": 730, + "isOffset": false, + "isSlot": false, + "src": "14288:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 729, - "isOffset": false, - "isSlot": false, - "src": "13070:6:1", - "valueSize": 1 - } + "declaration": 728, + "isOffset": false, + "isSlot": false, + "src": "14296:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 727, - "isOffset": false, - "isSlot": false, - "src": "13078:6:1", - "valueSize": 1 - } + "declaration": 733, + "isOffset": false, + "isSlot": false, + "src": "14267:7:1", + "valueSize": 1 } ], - "id": 734, + "id": 735, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "13026:76:1" + "src": "14244:70:1" } ] }, "documentation": null, - "id": 736, + "id": 737, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint184", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 730, + "id": 731, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 727, + "id": 728, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 736, - "src": "12933:11:1", + "overrides": null, + "scope": 737, + "src": "14129:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20082,10 +27094,10 @@ "typeString": "uint256" }, "typeName": { - "id": 726, - "name": "uint", + "id": 727, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12933:4:1", + "src": "14129:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20096,11 +27108,12 @@ }, { "constant": false, - "id": 729, + "id": 730, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 736, - "src": "12946:19:1", + "overrides": null, + "scope": 737, + "src": "14145:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -20108,10 +27121,10 @@ "typeString": "bytes" }, "typeName": { - "id": 728, + "id": 729, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12946:5:1", + "src": "14145:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -20121,20 +27134,20 @@ "visibility": "internal" } ], - "src": "12932:34:1" + "src": "14128:37:1" }, - "payable": false, "returnParameters": { - "id": 733, + "id": 734, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 732, + "id": 733, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 736, - "src": "12990:15:1", + "overrides": null, + "scope": 737, + "src": "14213:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20142,10 +27155,10 @@ "typeString": "uint184" }, "typeName": { - "id": 731, + "id": 732, "name": "uint184", "nodeType": "ElementaryTypeName", - "src": "12990:7:1", + "src": "14213:7:1", "typeDescriptions": { "typeIdentifier": "t_uint184", "typeString": "uint184" @@ -20155,76 +27168,120 @@ "visibility": "internal" } ], - "src": "12989:17:1" + "src": "14212:17:1" }, - "scope": 836, - "src": "12909:193:1", + "scope": 837, + "src": "14105:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 746, + "id": 747, "nodeType": "Block", - "src": "13207:95:1", + "src": "14455:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "14474:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14488:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "14509:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "14517:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14505:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "14505:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14499:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "14499:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "14488:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 743, - "isOffset": false, - "isSlot": false, - "src": "13249:7:1", - "valueSize": 1 - } + "declaration": 741, + "isOffset": false, + "isSlot": false, + "src": "14509:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 740, - "isOffset": false, - "isSlot": false, - "src": "13270:6:1", - "valueSize": 1 - } + "declaration": 739, + "isOffset": false, + "isSlot": false, + "src": "14517:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 738, - "isOffset": false, - "isSlot": false, - "src": "13278:6:1", - "valueSize": 1 - } + "declaration": 744, + "isOffset": false, + "isSlot": false, + "src": "14488:7:1", + "valueSize": 1 } ], - "id": 745, + "id": 746, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "13226:76:1" + "src": "14465:70:1" } ] }, "documentation": null, - "id": 747, + "id": 748, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint192", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 741, + "id": 742, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 738, + "id": 739, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "13133:11:1", + "overrides": null, + "scope": 748, + "src": "14350:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20232,10 +27289,10 @@ "typeString": "uint256" }, "typeName": { - "id": 737, - "name": "uint", + "id": 738, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13133:4:1", + "src": "14350:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20246,11 +27303,12 @@ }, { "constant": false, - "id": 740, + "id": 741, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "13146:19:1", + "overrides": null, + "scope": 748, + "src": "14366:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -20258,10 +27316,10 @@ "typeString": "bytes" }, "typeName": { - "id": 739, + "id": 740, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13146:5:1", + "src": "14366:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -20271,20 +27329,20 @@ "visibility": "internal" } ], - "src": "13132:34:1" + "src": "14349:37:1" }, - "payable": false, "returnParameters": { - "id": 744, + "id": 745, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 743, + "id": 744, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "13190:15:1", + "overrides": null, + "scope": 748, + "src": "14434:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20292,10 +27350,10 @@ "typeString": "uint192" }, "typeName": { - "id": 742, + "id": 743, "name": "uint192", "nodeType": "ElementaryTypeName", - "src": "13190:7:1", + "src": "14434:7:1", "typeDescriptions": { "typeIdentifier": "t_uint192", "typeString": "uint192" @@ -20305,76 +27363,120 @@ "visibility": "internal" } ], - "src": "13189:17:1" + "src": "14433:17:1" }, - "scope": 836, - "src": "13109:193:1", + "scope": 837, + "src": "14326:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 757, + "id": 758, "nodeType": "Block", - "src": "13407:95:1", + "src": "14676:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "14695:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14709:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "14730:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "14738:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14726:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "14726:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14720:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "14720:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "14709:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 754, - "isOffset": false, - "isSlot": false, - "src": "13449:7:1", - "valueSize": 1 - } + "declaration": 752, + "isOffset": false, + "isSlot": false, + "src": "14730:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 751, - "isOffset": false, - "isSlot": false, - "src": "13470:6:1", - "valueSize": 1 - } + "declaration": 750, + "isOffset": false, + "isSlot": false, + "src": "14738:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 749, - "isOffset": false, - "isSlot": false, - "src": "13478:6:1", - "valueSize": 1 - } + "declaration": 755, + "isOffset": false, + "isSlot": false, + "src": "14709:7:1", + "valueSize": 1 } ], - "id": 756, + "id": 757, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "13426:76:1" + "src": "14686:70:1" } ] }, "documentation": null, - "id": 758, + "id": 759, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint200", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 752, + "id": 753, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 749, + "id": 750, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 758, - "src": "13333:11:1", + "overrides": null, + "scope": 759, + "src": "14571:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20382,10 +27484,10 @@ "typeString": "uint256" }, "typeName": { - "id": 748, - "name": "uint", + "id": 749, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13333:4:1", + "src": "14571:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20396,11 +27498,12 @@ }, { "constant": false, - "id": 751, + "id": 752, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 758, - "src": "13346:19:1", + "overrides": null, + "scope": 759, + "src": "14587:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -20408,10 +27511,10 @@ "typeString": "bytes" }, "typeName": { - "id": 750, + "id": 751, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13346:5:1", + "src": "14587:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -20421,20 +27524,20 @@ "visibility": "internal" } ], - "src": "13332:34:1" + "src": "14570:37:1" }, - "payable": false, "returnParameters": { - "id": 755, + "id": 756, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 754, + "id": 755, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 758, - "src": "13390:15:1", + "overrides": null, + "scope": 759, + "src": "14655:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20442,10 +27545,10 @@ "typeString": "uint200" }, "typeName": { - "id": 753, + "id": 754, "name": "uint200", "nodeType": "ElementaryTypeName", - "src": "13390:7:1", + "src": "14655:7:1", "typeDescriptions": { "typeIdentifier": "t_uint200", "typeString": "uint200" @@ -20455,76 +27558,120 @@ "visibility": "internal" } ], - "src": "13389:17:1" + "src": "14654:17:1" }, - "scope": 836, - "src": "13309:193:1", + "scope": 837, + "src": "14547:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 768, + "id": 769, "nodeType": "Block", - "src": "13607:95:1", + "src": "14897:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "14916:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14930:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "14951:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "14959:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14947:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "14947:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14941:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "14941:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "14930:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 765, - "isOffset": false, - "isSlot": false, - "src": "13649:7:1", - "valueSize": 1 - } + "declaration": 763, + "isOffset": false, + "isSlot": false, + "src": "14951:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 762, - "isOffset": false, - "isSlot": false, - "src": "13670:6:1", - "valueSize": 1 - } + "declaration": 761, + "isOffset": false, + "isSlot": false, + "src": "14959:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 760, - "isOffset": false, - "isSlot": false, - "src": "13678:6:1", - "valueSize": 1 - } + "declaration": 766, + "isOffset": false, + "isSlot": false, + "src": "14930:7:1", + "valueSize": 1 } ], - "id": 767, + "id": 768, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "13626:76:1" + "src": "14907:70:1" } ] }, "documentation": null, - "id": 769, + "id": 770, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint208", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 763, + "id": 764, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 760, + "id": 761, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 769, - "src": "13533:11:1", + "overrides": null, + "scope": 770, + "src": "14792:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20532,10 +27679,10 @@ "typeString": "uint256" }, "typeName": { - "id": 759, - "name": "uint", + "id": 760, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13533:4:1", + "src": "14792:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20546,11 +27693,12 @@ }, { "constant": false, - "id": 762, + "id": 763, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 769, - "src": "13546:19:1", + "overrides": null, + "scope": 770, + "src": "14808:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -20558,10 +27706,10 @@ "typeString": "bytes" }, "typeName": { - "id": 761, + "id": 762, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13546:5:1", + "src": "14808:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -20571,20 +27719,20 @@ "visibility": "internal" } ], - "src": "13532:34:1" + "src": "14791:37:1" }, - "payable": false, "returnParameters": { - "id": 766, + "id": 767, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 765, + "id": 766, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 769, - "src": "13590:15:1", + "overrides": null, + "scope": 770, + "src": "14876:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20592,10 +27740,10 @@ "typeString": "uint208" }, "typeName": { - "id": 764, + "id": 765, "name": "uint208", "nodeType": "ElementaryTypeName", - "src": "13590:7:1", + "src": "14876:7:1", "typeDescriptions": { "typeIdentifier": "t_uint208", "typeString": "uint208" @@ -20605,76 +27753,120 @@ "visibility": "internal" } ], - "src": "13589:17:1" + "src": "14875:17:1" }, - "scope": 836, - "src": "13509:193:1", + "scope": 837, + "src": "14768:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 779, + "id": 780, "nodeType": "Block", - "src": "13807:95:1", + "src": "15118:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "15137:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15151:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "15172:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "15180:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15168:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15168:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15162:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "15162:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "15151:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 776, - "isOffset": false, - "isSlot": false, - "src": "13849:7:1", - "valueSize": 1 - } + "declaration": 774, + "isOffset": false, + "isSlot": false, + "src": "15172:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 773, - "isOffset": false, - "isSlot": false, - "src": "13870:6:1", - "valueSize": 1 - } + "declaration": 772, + "isOffset": false, + "isSlot": false, + "src": "15180:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 771, - "isOffset": false, - "isSlot": false, - "src": "13878:6:1", - "valueSize": 1 - } + "declaration": 777, + "isOffset": false, + "isSlot": false, + "src": "15151:7:1", + "valueSize": 1 } ], - "id": 778, + "id": 779, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "13826:76:1" + "src": "15128:70:1" } ] }, "documentation": null, - "id": 780, + "id": 781, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint216", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 774, + "id": 775, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 771, + "id": 772, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 780, - "src": "13733:11:1", + "overrides": null, + "scope": 781, + "src": "15013:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20682,10 +27874,10 @@ "typeString": "uint256" }, "typeName": { - "id": 770, - "name": "uint", + "id": 771, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13733:4:1", + "src": "15013:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20696,11 +27888,12 @@ }, { "constant": false, - "id": 773, + "id": 774, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 780, - "src": "13746:19:1", + "overrides": null, + "scope": 781, + "src": "15029:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -20708,10 +27901,10 @@ "typeString": "bytes" }, "typeName": { - "id": 772, + "id": 773, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13746:5:1", + "src": "15029:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -20721,20 +27914,20 @@ "visibility": "internal" } ], - "src": "13732:34:1" + "src": "15012:37:1" }, - "payable": false, "returnParameters": { - "id": 777, + "id": 778, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 776, + "id": 777, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 780, - "src": "13790:15:1", + "overrides": null, + "scope": 781, + "src": "15097:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20742,10 +27935,10 @@ "typeString": "uint216" }, "typeName": { - "id": 775, + "id": 776, "name": "uint216", "nodeType": "ElementaryTypeName", - "src": "13790:7:1", + "src": "15097:7:1", "typeDescriptions": { "typeIdentifier": "t_uint216", "typeString": "uint216" @@ -20755,76 +27948,120 @@ "visibility": "internal" } ], - "src": "13789:17:1" + "src": "15096:17:1" }, - "scope": 836, - "src": "13709:193:1", + "scope": 837, + "src": "14989:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 790, + "id": 791, "nodeType": "Block", - "src": "14007:95:1", + "src": "15339:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "15358:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15372:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "15393:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "15401:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15389:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15389:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15383:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "15383:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "15372:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 787, - "isOffset": false, - "isSlot": false, - "src": "14049:7:1", - "valueSize": 1 - } + "declaration": 785, + "isOffset": false, + "isSlot": false, + "src": "15393:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 784, - "isOffset": false, - "isSlot": false, - "src": "14070:6:1", - "valueSize": 1 - } + "declaration": 783, + "isOffset": false, + "isSlot": false, + "src": "15401:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 782, - "isOffset": false, - "isSlot": false, - "src": "14078:6:1", - "valueSize": 1 - } + "declaration": 788, + "isOffset": false, + "isSlot": false, + "src": "15372:7:1", + "valueSize": 1 } ], - "id": 789, + "id": 790, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "14026:76:1" + "src": "15349:70:1" } ] }, "documentation": null, - "id": 791, + "id": 792, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint224", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 785, + "id": 786, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 782, + "id": 783, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 791, - "src": "13933:11:1", + "overrides": null, + "scope": 792, + "src": "15234:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20832,10 +28069,10 @@ "typeString": "uint256" }, "typeName": { - "id": 781, - "name": "uint", + "id": 782, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13933:4:1", + "src": "15234:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20846,11 +28083,12 @@ }, { "constant": false, - "id": 784, + "id": 785, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 791, - "src": "13946:19:1", + "overrides": null, + "scope": 792, + "src": "15250:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -20858,10 +28096,10 @@ "typeString": "bytes" }, "typeName": { - "id": 783, + "id": 784, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13946:5:1", + "src": "15250:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -20871,20 +28109,20 @@ "visibility": "internal" } ], - "src": "13932:34:1" + "src": "15233:37:1" }, - "payable": false, "returnParameters": { - "id": 788, + "id": 789, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 787, + "id": 788, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 791, - "src": "13990:15:1", + "overrides": null, + "scope": 792, + "src": "15318:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20892,10 +28130,10 @@ "typeString": "uint224" }, "typeName": { - "id": 786, + "id": 787, "name": "uint224", "nodeType": "ElementaryTypeName", - "src": "13990:7:1", + "src": "15318:7:1", "typeDescriptions": { "typeIdentifier": "t_uint224", "typeString": "uint224" @@ -20905,76 +28143,120 @@ "visibility": "internal" } ], - "src": "13989:17:1" + "src": "15317:17:1" }, - "scope": 836, - "src": "13909:193:1", + "scope": 837, + "src": "15210:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 801, + "id": 802, "nodeType": "Block", - "src": "14207:95:1", + "src": "15560:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "15579:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15593:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "15614:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "15622:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15610:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15610:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15604:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "15604:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "15593:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 798, - "isOffset": false, - "isSlot": false, - "src": "14249:7:1", - "valueSize": 1 - } + "declaration": 796, + "isOffset": false, + "isSlot": false, + "src": "15614:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 795, - "isOffset": false, - "isSlot": false, - "src": "14270:6:1", - "valueSize": 1 - } + "declaration": 794, + "isOffset": false, + "isSlot": false, + "src": "15622:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 793, - "isOffset": false, - "isSlot": false, - "src": "14278:6:1", - "valueSize": 1 - } + "declaration": 799, + "isOffset": false, + "isSlot": false, + "src": "15593:7:1", + "valueSize": 1 } ], - "id": 800, + "id": 801, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "14226:76:1" + "src": "15570:70:1" } ] }, "documentation": null, - "id": 802, + "id": 803, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint232", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 796, + "id": 797, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 793, + "id": 794, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 802, - "src": "14133:11:1", + "overrides": null, + "scope": 803, + "src": "15455:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20982,10 +28264,10 @@ "typeString": "uint256" }, "typeName": { - "id": 792, - "name": "uint", + "id": 793, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14133:4:1", + "src": "15455:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20996,11 +28278,12 @@ }, { "constant": false, - "id": 795, + "id": 796, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 802, - "src": "14146:19:1", + "overrides": null, + "scope": 803, + "src": "15471:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -21008,10 +28291,10 @@ "typeString": "bytes" }, "typeName": { - "id": 794, + "id": 795, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14146:5:1", + "src": "15471:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -21021,20 +28304,20 @@ "visibility": "internal" } ], - "src": "14132:34:1" + "src": "15454:37:1" }, - "payable": false, "returnParameters": { - "id": 799, + "id": 800, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 798, + "id": 799, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 802, - "src": "14190:15:1", + "overrides": null, + "scope": 803, + "src": "15539:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21042,10 +28325,10 @@ "typeString": "uint232" }, "typeName": { - "id": 797, + "id": 798, "name": "uint232", "nodeType": "ElementaryTypeName", - "src": "14190:7:1", + "src": "15539:7:1", "typeDescriptions": { "typeIdentifier": "t_uint232", "typeString": "uint232" @@ -21055,76 +28338,120 @@ "visibility": "internal" } ], - "src": "14189:17:1" + "src": "15538:17:1" }, - "scope": 836, - "src": "14109:193:1", + "scope": 837, + "src": "15431:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 812, + "id": 813, "nodeType": "Block", - "src": "14407:95:1", + "src": "15781:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "15800:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15814:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "15835:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "15843:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15831:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15831:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15825:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "15825:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "15814:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 809, - "isOffset": false, - "isSlot": false, - "src": "14449:7:1", - "valueSize": 1 - } + "declaration": 807, + "isOffset": false, + "isSlot": false, + "src": "15835:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 806, - "isOffset": false, - "isSlot": false, - "src": "14470:6:1", - "valueSize": 1 - } + "declaration": 805, + "isOffset": false, + "isSlot": false, + "src": "15843:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 804, - "isOffset": false, - "isSlot": false, - "src": "14478:6:1", - "valueSize": 1 - } + "declaration": 810, + "isOffset": false, + "isSlot": false, + "src": "15814:7:1", + "valueSize": 1 } ], - "id": 811, + "id": 812, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "14426:76:1" + "src": "15791:70:1" } ] }, "documentation": null, - "id": 813, + "id": 814, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint240", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 807, + "id": 808, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 804, + "id": 805, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 813, - "src": "14333:11:1", + "overrides": null, + "scope": 814, + "src": "15676:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21132,10 +28459,10 @@ "typeString": "uint256" }, "typeName": { - "id": 803, - "name": "uint", + "id": 804, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14333:4:1", + "src": "15676:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21146,11 +28473,12 @@ }, { "constant": false, - "id": 806, + "id": 807, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 813, - "src": "14346:19:1", + "overrides": null, + "scope": 814, + "src": "15692:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -21158,10 +28486,10 @@ "typeString": "bytes" }, "typeName": { - "id": 805, + "id": 806, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14346:5:1", + "src": "15692:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -21171,20 +28499,20 @@ "visibility": "internal" } ], - "src": "14332:34:1" + "src": "15675:37:1" }, - "payable": false, "returnParameters": { - "id": 810, + "id": 811, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 809, + "id": 810, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 813, - "src": "14390:15:1", + "overrides": null, + "scope": 814, + "src": "15760:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21192,10 +28520,10 @@ "typeString": "uint240" }, "typeName": { - "id": 808, + "id": 809, "name": "uint240", "nodeType": "ElementaryTypeName", - "src": "14390:7:1", + "src": "15760:7:1", "typeDescriptions": { "typeIdentifier": "t_uint240", "typeString": "uint240" @@ -21205,76 +28533,120 @@ "visibility": "internal" } ], - "src": "14389:17:1" + "src": "15759:17:1" }, - "scope": 836, - "src": "14309:193:1", + "scope": 837, + "src": "15652:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 823, + "id": 824, "nodeType": "Block", - "src": "14607:95:1", + "src": "16002:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "16021:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16035:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "16056:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "16064:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16052:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "16052:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "16046:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "16046:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "16035:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 820, - "isOffset": false, - "isSlot": false, - "src": "14649:7:1", - "valueSize": 1 - } + "declaration": 818, + "isOffset": false, + "isSlot": false, + "src": "16056:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 817, - "isOffset": false, - "isSlot": false, - "src": "14670:6:1", - "valueSize": 1 - } + "declaration": 816, + "isOffset": false, + "isSlot": false, + "src": "16064:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 815, - "isOffset": false, - "isSlot": false, - "src": "14678:6:1", - "valueSize": 1 - } + "declaration": 821, + "isOffset": false, + "isSlot": false, + "src": "16035:7:1", + "valueSize": 1 } ], - "id": 822, + "id": 823, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "14626:76:1" + "src": "16012:70:1" } ] }, "documentation": null, - "id": 824, + "id": 825, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint248", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 818, + "id": 819, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 815, + "id": 816, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 824, - "src": "14533:11:1", + "overrides": null, + "scope": 825, + "src": "15897:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21282,10 +28654,10 @@ "typeString": "uint256" }, "typeName": { - "id": 814, - "name": "uint", + "id": 815, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14533:4:1", + "src": "15897:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21296,11 +28668,12 @@ }, { "constant": false, - "id": 817, + "id": 818, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 824, - "src": "14546:19:1", + "overrides": null, + "scope": 825, + "src": "15913:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -21308,10 +28681,10 @@ "typeString": "bytes" }, "typeName": { - "id": 816, + "id": 817, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14546:5:1", + "src": "15913:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -21321,20 +28694,20 @@ "visibility": "internal" } ], - "src": "14532:34:1" + "src": "15896:37:1" }, - "payable": false, "returnParameters": { - "id": 821, + "id": 822, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 820, + "id": 821, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 824, - "src": "14590:15:1", + "overrides": null, + "scope": 825, + "src": "15981:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21342,10 +28715,10 @@ "typeString": "uint248" }, "typeName": { - "id": 819, + "id": 820, "name": "uint248", "nodeType": "ElementaryTypeName", - "src": "14590:7:1", + "src": "15981:7:1", "typeDescriptions": { "typeIdentifier": "t_uint248", "typeString": "uint248" @@ -21355,76 +28728,120 @@ "visibility": "internal" } ], - "src": "14589:17:1" + "src": "15980:17:1" }, - "scope": 836, - "src": "14509:193:1", + "scope": 837, + "src": "15873:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 834, + "id": 835, "nodeType": "Block", - "src": "14807:95:1", + "src": "16223:86:1", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "16242:61:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16256:37:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "16277:6:1" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "16285:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16273:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "16273:19:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "16267:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "16267:26:1" + }, + "variableNames": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "16256:7:1" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 831, - "isOffset": false, - "isSlot": false, - "src": "14849:7:1", - "valueSize": 1 - } + "declaration": 829, + "isOffset": false, + "isSlot": false, + "src": "16277:6:1", + "valueSize": 1 }, { - "_input": { - "declaration": 828, - "isOffset": false, - "isSlot": false, - "src": "14870:6:1", - "valueSize": 1 - } + "declaration": 827, + "isOffset": false, + "isSlot": false, + "src": "16285:6:1", + "valueSize": 1 }, { - "_offst": { - "declaration": 826, - "isOffset": false, - "isSlot": false, - "src": "14878:6:1", - "valueSize": 1 - } + "declaration": 832, + "isOffset": false, + "isSlot": false, + "src": "16256:7:1", + "valueSize": 1 } ], - "id": 833, + "id": 834, "nodeType": "InlineAssembly", - "operations": "{\n _output := mload(add(_input, _offst))\n}", - "src": "14826:76:1" + "src": "16233:70:1" } ] }, "documentation": null, - "id": 835, + "id": 836, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "bytesToUint256", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 829, + "id": 830, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 826, + "id": 827, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 835, - "src": "14733:11:1", + "overrides": null, + "scope": 836, + "src": "16118:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21432,10 +28849,10 @@ "typeString": "uint256" }, "typeName": { - "id": 825, - "name": "uint", + "id": 826, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14733:4:1", + "src": "16118:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21446,11 +28863,12 @@ }, { "constant": false, - "id": 828, + "id": 829, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 835, - "src": "14746:19:1", + "overrides": null, + "scope": 836, + "src": "16134:19:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -21458,10 +28876,10 @@ "typeString": "bytes" }, "typeName": { - "id": 827, + "id": 828, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14746:5:1", + "src": "16134:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -21471,20 +28889,20 @@ "visibility": "internal" } ], - "src": "14732:34:1" + "src": "16117:37:1" }, - "payable": false, "returnParameters": { - "id": 832, + "id": 833, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 831, + "id": 832, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 835, - "src": "14790:15:1", + "overrides": null, + "scope": 836, + "src": "16202:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21492,10 +28910,10 @@ "typeString": "uint256" }, "typeName": { - "id": 830, + "id": 831, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14790:7:1", + "src": "16202:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21505,30 +28923,31 @@ "visibility": "internal" } ], - "src": "14789:17:1" + "src": "16201:17:1" }, - "scope": 836, - "src": "14709:193:1", + "scope": 837, + "src": "16094:215:1", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" } ], - "scope": 837, - "src": "187:14723:1" + "scope": 838, + "src": "187:16124:1" } ], - "src": "0:14911:1" + "src": "0:16312:1" }, "compiler": { "name": "solc", - "version": "0.4.26+commit.4563c3fc.Emscripten.clang" + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.11", - "updatedAt": "2019-06-26T04:51:10.194Z", + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T00:50:13.930Z", "devdoc": { "author": "pouladzade@gmail.com", + "details": "The BytesToTypes contract converts the memory byte arrays to the standard solidity types", "methods": {}, "title": "BytesToTypes" }, diff --git a/build/contracts/DummyContract.json b/build/contracts/DummyContract.json index ce73686..91eaf4a 100644 --- a/build/contracts/DummyContract.json +++ b/build/contracts/DummyContract.json @@ -3,18 +3,18 @@ "abi": [ { "inputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { - "constant": false, "inputs": [ { + "internalType": "uint256", "name": "a", "type": "uint256" }, { + "internalType": "uint256", "name": "b", "type": "uint256" } @@ -22,95 +22,95 @@ "name": "add", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"add\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyContract.sol\":\"DummyContract\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyContract.sol\":{\"keccak256\":\"0x89151bde50b1e0bcd0402444267be2da9973b01d059978927cb01700effb0b38\",\"urls\":[\"bzzr://c15b448e6cca7c4795612e0fd069c4e177c298c5a26e8ff01f06f4d7e9342269\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5060c58061001f6000396000f300608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063771602f7146044575b600080fd5b348015604f57600080fd5b5060766004803603810190808035906020019092919080359060200190929190505050608c565b6040518082815260200191505060405180910390f35b60008183019050929150505600a165627a7a723058202b69fc1699202a2f1c7d93c1cdfab0b7fb85ddf894e7af43f7bc94b60706b4dd0029", - "deployedBytecode": "0x608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063771602f7146044575b600080fd5b348015604f57600080fd5b5060766004803603810190808035906020019092919080359060200190929190505050608c565b6040518082815260200191505060405180910390f35b60008183019050929150505600a165627a7a723058202b69fc1699202a2f1c7d93c1cdfab0b7fb85ddf894e7af43f7bc94b60706b4dd0029", - "sourceMap": "25:137:7:-;;;54:23;8:9:-1;5:2;;;30:1;27;20:12;5:2;54:23:7;25:137;;;;;;", - "deployedSourceMap": "25:137:7:-;;;;;;;;;;;;;;;;;;;;;;;;82:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;82:78:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;127:4;152:1;150;:3;143:10;;82:78;;;;:::o", - "source": "pragma solidity ^0.4.24;\ncontract DummyContract {\n constructor() public {}\n function add(uint a, uint b) public returns (uint) {\n return a+b;\n }\n}", + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"add\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyContract.sol\":\"DummyContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyContract.sol\":{\"keccak256\":\"0x1108722c0a0d6a0cd651159c90147e35f1079ef6a3eb7cb06b4ea7bed51b2518\",\"urls\":[\"bzz-raw://1fd5652be7ed5c75537428905cd6049fc2b4d5ba51aa355b6c2594ccbb0ecbcd\",\"dweb:/ipfs/QmZeFLcufMpestbhqcSkMLzwmdgiz5j8KbYNQoPaVdMcGS\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5060b98061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063771602f714602d575b600080fd5b606060048036036040811015604157600080fd5b8101908080359060200190929190803590602001909291905050506076565b6040518082815260200191505060405180910390f35b600081830190509291505056fea2646970667358221220329cc12d962b4a4c6101dd8a52ec508d825fe26d41b681531b353475d789c5c664736f6c63430006040033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063771602f714602d575b600080fd5b606060048036036040811015604157600080fd5b8101908080359060200190929190803590602001909291905050506076565b6040518082815260200191505060405180910390f35b600081830190509291505056fea2646970667358221220329cc12d962b4a4c6101dd8a52ec508d825fe26d41b681531b353475d789c5c664736f6c63430006040033", + "sourceMap": "26:154:7:-:0;;;55:23;5:9:-1;2:2;;;27:1;24;17:12;2:2;55:23:7;26:154;;;;;;", + "deployedSourceMap": "26:154:7:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26:154:7;;;;;;;;;;;;;;;;12:1:-1;9;2:12;84:94:7;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;84:94:7;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;140:7;170:1;166;:5;159:12;;84:94;;;;:::o", + "source": "pragma solidity ^0.6.4;\n\n\ncontract DummyContract {\n constructor() public {}\n\n function add(uint256 a, uint256 b) public pure returns (uint256) {\n return a + b;\n }\n}\n", "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyContract.sol", "ast": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyContract.sol", "exportedSymbols": { "DummyContract": [ - 1490 + 1286 ] }, - "id": 1491, + "id": 1287, "nodeType": "SourceUnit", "nodes": [ { - "id": 1471, + "id": 1267, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:23:7" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1490, + "id": 1286, "linearizedBaseContracts": [ - 1490 + 1286 ], "name": "DummyContract", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1474, + "id": 1270, "nodeType": "Block", - "src": "75:2:7", + "src": "76:2:7", "statements": [] }, "documentation": null, - "id": 1475, + "id": 1271, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1472, + "id": 1268, "nodeType": "ParameterList", "parameters": [], - "src": "65:2:7" + "src": "66:2:7" }, - "payable": false, "returnParameters": { - "id": 1473, + "id": 1269, "nodeType": "ParameterList", "parameters": [], - "src": "75:0:7" + "src": "76:0:7" }, - "scope": 1490, - "src": "54:23:7", + "scope": 1286, + "src": "55:23:7", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1488, + "id": 1284, "nodeType": "Block", - "src": "133:27:7", + "src": "149:29:7", "statements": [ { "expression": { @@ -119,19 +119,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1486, + "id": 1282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1484, + "id": 1280, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1477, - "src": "150:1:7", + "referencedDeclaration": 1273, + "src": "166:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -141,49 +141,51 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1485, + "id": 1281, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "152:1:7", + "referencedDeclaration": 1275, + "src": "170:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "150:3:7", + "src": "166:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1483, - "id": 1487, + "functionReturnParameters": 1279, + "id": 1283, "nodeType": "Return", - "src": "143:10:7" + "src": "159:12:7" } ] }, "documentation": null, - "id": 1489, + "functionSelector": "771602f7", + "id": 1285, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1480, + "id": 1276, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1477, + "id": 1273, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "95:6:7", + "overrides": null, + "scope": 1285, + "src": "97:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -191,10 +193,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1476, - "name": "uint", + "id": 1272, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "95:4:7", + "src": "97:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -205,11 +207,12 @@ }, { "constant": false, - "id": 1479, + "id": 1275, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "103:6:7", + "overrides": null, + "scope": 1285, + "src": "108:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -217,10 +220,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1478, - "name": "uint", + "id": 1274, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "103:4:7", + "src": "108:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -230,20 +233,20 @@ "visibility": "internal" } ], - "src": "94:16:7" + "src": "96:22:7" }, - "payable": false, "returnParameters": { - "id": 1483, + "id": 1279, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1482, + "id": 1278, "name": "", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "127:4:7", + "overrides": null, + "scope": 1285, + "src": "140:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -251,10 +254,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1481, - "name": "uint", + "id": 1277, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "127:4:7", + "src": "140:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -264,94 +267,94 @@ "visibility": "internal" } ], - "src": "126:6:7" + "src": "139:9:7" }, - "scope": 1490, - "src": "82:78:7", - "stateMutability": "nonpayable", - "superFunction": null, + "scope": 1286, + "src": "84:94:7", + "stateMutability": "pure", + "virtual": false, "visibility": "public" } ], - "scope": 1491, - "src": "25:137:7" + "scope": 1287, + "src": "26:154:7" } ], - "src": "0:162:7" + "src": "0:181:7" }, "legacyAST": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyContract.sol", "exportedSymbols": { "DummyContract": [ - 1490 + 1286 ] }, - "id": 1491, + "id": 1287, "nodeType": "SourceUnit", "nodes": [ { - "id": 1471, + "id": 1267, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:23:7" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1490, + "id": 1286, "linearizedBaseContracts": [ - 1490 + 1286 ], "name": "DummyContract", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1474, + "id": 1270, "nodeType": "Block", - "src": "75:2:7", + "src": "76:2:7", "statements": [] }, "documentation": null, - "id": 1475, + "id": 1271, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1472, + "id": 1268, "nodeType": "ParameterList", "parameters": [], - "src": "65:2:7" + "src": "66:2:7" }, - "payable": false, "returnParameters": { - "id": 1473, + "id": 1269, "nodeType": "ParameterList", "parameters": [], - "src": "75:0:7" + "src": "76:0:7" }, - "scope": 1490, - "src": "54:23:7", + "scope": 1286, + "src": "55:23:7", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1488, + "id": 1284, "nodeType": "Block", - "src": "133:27:7", + "src": "149:29:7", "statements": [ { "expression": { @@ -360,19 +363,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1486, + "id": 1282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1484, + "id": 1280, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1477, - "src": "150:1:7", + "referencedDeclaration": 1273, + "src": "166:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -382,49 +385,51 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1485, + "id": 1281, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "152:1:7", + "referencedDeclaration": 1275, + "src": "170:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "150:3:7", + "src": "166:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1483, - "id": 1487, + "functionReturnParameters": 1279, + "id": 1283, "nodeType": "Return", - "src": "143:10:7" + "src": "159:12:7" } ] }, "documentation": null, - "id": 1489, + "functionSelector": "771602f7", + "id": 1285, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1480, + "id": 1276, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1477, + "id": 1273, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "95:6:7", + "overrides": null, + "scope": 1285, + "src": "97:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -432,10 +437,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1476, - "name": "uint", + "id": 1272, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "95:4:7", + "src": "97:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -446,11 +451,12 @@ }, { "constant": false, - "id": 1479, + "id": 1275, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "103:6:7", + "overrides": null, + "scope": 1285, + "src": "108:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -458,10 +464,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1478, - "name": "uint", + "id": 1274, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "103:4:7", + "src": "108:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -471,20 +477,20 @@ "visibility": "internal" } ], - "src": "94:16:7" + "src": "96:22:7" }, - "payable": false, "returnParameters": { - "id": 1483, + "id": 1279, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1482, + "id": 1278, "name": "", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "127:4:7", + "overrides": null, + "scope": 1285, + "src": "140:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -492,10 +498,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1481, - "name": "uint", + "id": 1277, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "127:4:7", + "src": "140:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -505,28 +511,28 @@ "visibility": "internal" } ], - "src": "126:6:7" + "src": "139:9:7" }, - "scope": 1490, - "src": "82:78:7", - "stateMutability": "nonpayable", - "superFunction": null, + "scope": 1286, + "src": "84:94:7", + "stateMutability": "pure", + "virtual": false, "visibility": "public" } ], - "scope": 1491, - "src": "25:137:7" + "scope": 1287, + "src": "26:154:7" } ], - "src": "0:162:7" + "src": "0:181:7" }, "compiler": { "name": "solc", - "version": "0.4.26+commit.4563c3fc.Emscripten.clang" + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.11", - "updatedAt": "2019-06-26T04:51:10.210Z", + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T00:50:13.965Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/DummyToken.json b/build/contracts/DummyToken.json index 7bd985f..8db2ebe 100644 --- a/build/contracts/DummyToken.json +++ b/build/contracts/DummyToken.json @@ -2,89 +2,57 @@ "contractName": "DummyToken", "abi": [ { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ + "inputs": [ { - "name": "", - "type": "uint256" + "internalType": "address", + "name": "addr", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function" + "stateMutability": "nonpayable", + "type": "constructor" }, { - "constant": true, "inputs": [], "name": "owner", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": false, "inputs": [ { - "name": "_from", - "type": "address" - }, - { + "internalType": "address", "name": "_to", "type": "address" }, { - "name": "_tokenId", + "internalType": "uint256", + "name": "_value", "type": "uint256" } ], - "name": "safeTransferFrom", + "name": "transfer", "outputs": [ { + "internalType": "bool", "name": "success", "type": "bool" } ], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { - "constant": true, "inputs": [ { + "internalType": "address", "name": "_owner", "type": "address" } @@ -92,323 +60,301 @@ "name": "balanceOf", "outputs": [ { + "internalType": "uint256", "name": "balance", "type": "uint256" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": false, "inputs": [], "name": "killMe", "outputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"killMe\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/DummyERC721Token.sol\":\"DummyToken\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/DummyERC721Token.sol\":{\"keccak256\":\"0x8b3fbfb818a87b6b912168fc18e9cc34b2b6a912f77659771a25e60d36ada111\",\"urls\":[\"bzzr://dcee44e30b61846cdcc56830c2da50230258e9029b1a6446f09a220985309f13\"]}},\"version\":1}", - "bytecode": "0x6080604052600160005534801561001557600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006004815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104b8806101426000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461007d57806342842e0e146100a85780636352211e1461012057806370a082311461018d5780638da5cb5b146101e4578063b603cd801461023b575b600080fd5b34801561008957600080fd5b50610092610252565b6040518082815260200191505060405180910390f35b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610258565b604051808215151515815260200191505060405180910390f35b34801561012c57600080fd5b5061014b600480360381019080803590602001909291905050506103a5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019957600080fd5b506101ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e2565b6040518082815260200191505060405180910390f35b3480156101f057600080fd5b506101f961042b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024757600080fd5b50610250610451565b005b60005481565b60003373ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156102f357508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156102fe57600080fd5b6001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600190509392505050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff00a165627a7a72305820453df8cbb11815cd27db3219bee744c95c7dcd766bdd2b678a08e620f07a96f30029", - "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461007d57806342842e0e146100a85780636352211e1461012057806370a082311461018d5780638da5cb5b146101e4578063b603cd801461023b575b600080fd5b34801561008957600080fd5b50610092610252565b6040518082815260200191505060405180910390f35b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610258565b604051808215151515815260200191505060405180910390f35b34801561012c57600080fd5b5061014b600480360381019080803590602001909291905050506103a5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019957600080fd5b506101ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e2565b6040518082815260200191505060405180910390f35b3480156101f057600080fd5b506101f961042b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024757600080fd5b50610250610451565b005b60005481565b60003373ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156102f357508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156102fe57600080fd5b6001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600190509392505050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff00a165627a7a72305820453df8cbb11815cd27db3219bee744c95c7dcd766bdd2b678a08e620f07a96f30029", - "sourceMap": "25:925:5:-;;;773:1;744:30;;51:112;8:9:-1;5:2;;;30:1;27;20:12;5:2;51:112:5;90:10;82:5;;:18;;;;;;;;;;;;;;;;;;122:5;;;;;;;;;;;110:6;:9;117:1;110:9;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;155:1;137:8;:15;146:5;;;;;;;;;;;137:15;;;;;;;;;;;;;;;:19;;;;25:925;;;;;;", - "deployedSourceMap": "25:925:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;744:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;744:30:5;;;;;;;;;;;;;;;;;;;;;;;168:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;448:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;448:107:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;560:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;560:113:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;780:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;780:20:5;;;;;;;;;;;;;;;;;;;;;;;;;;;678:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;678:61:5;;;;;;744:30;;;;:::o;168:275::-;266:12;318:10;298:30;;:6;:16;305:8;298:16;;;;;;;;;;;;;;;;;;;;;:30;;;:53;;;;;346:5;332:19;;:10;:19;;;298:53;290:62;;;;;;;;386:1;362:8;:20;371:10;362:20;;;;;;;;;;;;;;;;:25;;;;;;;;;;;414:1;397:8;:13;406:3;397:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;432:4;425:11;;168:275;;;;;:::o;448:107::-;506:7;532:6;:16;539:8;532:16;;;;;;;;;;;;;;;;;;;;;525:23;;448:107;;;:::o;560:113::-;616:15;650:8;:16;659:6;650:16;;;;;;;;;;;;;;;;643:23;;560:113;;;:::o;780:20::-;;;;;;;;;;;;;:::o;678:61::-;726:5;;;;;;;;;;;713:19;;", - "source": "pragma solidity ^0.4.24;\ncontract DummyToken {\n constructor() public {\n owner = msg.sender;\n tokens[4] = owner;\n balances[owner] = 1;\n }\n function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable returns (bool success) {\n require(tokens[_tokenId] == msg.sender && msg.sender == _from);\n balances[msg.sender] -= 1;\n balances[_to] += 1;\n return true;\n }\n function ownerOf(uint256 _tokenId) external view returns (address) {\n return tokens[_tokenId];\n }\n function balanceOf(address _owner) public view returns (uint256 balance) {\n return balances[_owner];\n }\n function killMe() public {\n selfdestruct(owner);\n }\n uint256 public totalSupply = 1;\n address public owner;\n mapping (address => uint256) balances;\n mapping (uint256 => address) tokens;\n mapping (address => mapping (address => uint256)) allowed;\n}", - "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/DummyERC721Token.sol", + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"killMe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyToken.sol\":\"DummyToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyToken.sol\":{\"keccak256\":\"0x83fc2931a2cef4d55940c20370a8dfa18dedd3951033c34def4c772e6c7e86db\",\"urls\":[\"bzz-raw://ba3ddafc1a5a97b8301e3bf2981e3ec5eece1183b1cd93c3ed3005618233a61c\",\"dweb:/ipfs/Qme7PkTkimMQwtYSeA7xj4eTkL7NrNkYMpodtf2Sy4xbL3\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5060405161047b38038061047b8339818101604052602081101561003357600080fd5b81019080805190602001909291905050506601c6bf52634000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061039c806100df6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806370a08231146100515780638da5cb5b146100a9578063a9059cbb146100f3578063b603cd8014610159575b600080fd5b6100936004803603602081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610163565b6040518082815260200191505060405180910390f35b6100b16101ac565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61013f6004803603604081101561010957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101d1565b604051808215151515815260200191505060405180910390f35b61016161032c565b005b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6c6f772073656e6465722062616c616e6365000000000000000000000000000081525060200191505060405180910390fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16fffea2646970667358221220c32e3fbc4f75f4e5954e9413cfa81bee7ec2536d49a00fb08829d48b7d5e0d5264736f6c63430006040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806370a08231146100515780638da5cb5b146100a9578063a9059cbb146100f3578063b603cd8014610159575b600080fd5b6100936004803603602081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610163565b6040518082815260200191505060405180910390f35b6100b16101ac565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61013f6004803603604081101561010957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101d1565b604051808215151515815260200191505060405180910390f35b61016161032c565b005b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6c6f772073656e6465722062616c616e6365000000000000000000000000000081525060200191505060405180910390fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16fffea2646970667358221220c32e3fbc4f75f4e5954e9413cfa81bee7ec2536d49a00fb08829d48b7d5e0d5264736f6c63430006040033", + "sourceMap": "26:739:8:-:0;;;79:110;5:9:-1;2:2;;;27:1;24;17:12;2:2;79:110:8;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;79:110:8;;;;;;;;;;;;;;;;139:15;122:8;:14;131:4;122:14;;;;;;;;;;;;;;;:32;;;;172:10;164:5;;:18;;;;;;;;;;;;;;;;;;79:110;26:739;;;;;;", + "deployedSourceMap": "26:739:8:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26:739:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;470:113:8;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;470:113:8;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;52:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;195:269;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;195:269:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;589:70;;;:::i;:::-;;470:113;526:15;560:8;:16;569:6;560:16;;;;;;;;;;;;;;;;553:23;;470:113;;;:::o;52:20::-;;;;;;;;;;;;;:::o;195:269::-;274:12;334:6;310:8;:20;319:10;310:20;;;;;;;;;;;;;;;;:30;;302:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;397:6;373:8;:20;382:10;373:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;430:6;413:8;:13;422:3;413:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;453:4;446:11;;195:269;;;;:::o;589:70::-;645:5;;;;;;;;;;;624:28;;", + "source": "pragma solidity ^0.6.4;\n\n\ncontract DummyToken {\n address public owner;\n\n constructor(address addr) public {\n balances[addr] = 500000000000000;\n owner = msg.sender;\n }\n\n function transfer(address _to, uint256 _value)\n public\n returns (bool success)\n {\n require(balances[msg.sender] >= _value, \"low sender balance\");\n balances[msg.sender] -= _value;\n balances[_to] += _value;\n return true;\n }\n\n function balanceOf(address _owner) public view returns (uint256 balance) {\n return balances[_owner];\n }\n\n function killMe() public {\n selfdestruct(payable(owner));\n }\n\n mapping(address => uint256) balances;\n mapping(address => mapping(address => uint256)) allowed;\n}\n", + "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyToken.sol", "ast": { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/DummyERC721Token.sol", + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyToken.sol", "exportedSymbols": { "DummyToken": [ - 1165 + 1376 ] }, - "id": 1166, + "id": 1377, "nodeType": "SourceUnit", "nodes": [ { - "id": 1051, + "id": 1288, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:5" + "src": "0:23:8" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1165, + "id": 1376, "linearizedBaseContracts": [ - 1165 + 1376 ], "name": "DummyToken", "nodeType": "ContractDefinition", "nodes": [ + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 1290, + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1376, + "src": "52:20:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, { "body": { - "id": 1071, + "id": 1306, "nodeType": "Block", - "src": "72:91:5", + "src": "112:77:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 1057, + "id": 1299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1054, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "82:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, - "id": 1055, - "name": "msg", + "id": 1295, + "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "90:3:5", + "referencedDeclaration": 1369, + "src": "122:8:8", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" } }, - "id": 1056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "90:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "82:18:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1058, - "nodeType": "ExpressionStatement", - "src": "82:18:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { + "id": 1297, + "indexExpression": { "argumentTypes": null, - "id": 1059, - "name": "tokens", + "id": 1296, + "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1158, - "src": "110:6:5", + "referencedDeclaration": 1292, + "src": "131:4:8", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1061, - "indexExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 1060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "117:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "110:9:5", + "src": "122:14:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1062, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "122:5:5", + "hexValue": "353030303030303030303030303030", + "id": 1298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "139:15:8", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_rational_500000000000000_by_1", + "typeString": "int_const 500000000000000" + }, + "value": "500000000000000" }, - "src": "110:17:5", + "src": "122:32:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 1064, + "id": 1300, "nodeType": "ExpressionStatement", - "src": "110:17:5" + "src": "122:32:8" }, { "expression": { "argumentTypes": null, - "id": 1069, + "id": 1304, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1065, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "137:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1067, - "indexExpression": { - "argumentTypes": null, - "id": 1066, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "146:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "137:15:5", + "id": 1301, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1290, + "src": "164:5:8", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "hexValue": "31", - "id": 1068, + "expression": { + "argumentTypes": null, + "id": 1302, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "172:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1303, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "155:1:5", - "subdenomination": null, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "172:10:8", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } }, - "src": "137:19:5", + "src": "164:18:8", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1070, + "id": 1305, "nodeType": "ExpressionStatement", - "src": "137:19:5" + "src": "164:18:8" } ] }, "documentation": null, - "id": 1072, + "id": 1307, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1052, + "id": 1293, "nodeType": "ParameterList", - "parameters": [], - "src": "62:2:5" + "parameters": [ + { + "constant": false, + "id": 1292, + "name": "addr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1307, + "src": "91:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1291, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "91:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "90:14:8" }, - "payable": false, "returnParameters": { - "id": 1053, + "id": 1294, "nodeType": "ParameterList", "parameters": [], - "src": "72:0:5" + "src": "112:0:8" }, - "scope": 1165, - "src": "51:112:5", + "scope": 1376, + "src": "79:110:8", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1112, + "id": 1341, "nodeType": "Block", - "src": "280:163:5", + "src": "292:172:8", "statements": [ { "expression": { @@ -417,83 +363,46 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 1094, + "id": 1322, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1084, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1158, - "src": "298:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1086, - "indexExpression": { - "argumentTypes": null, - "id": 1085, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "305:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "298:16:5", + "id": 1317, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "310:8:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "id": 1320, + "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1087, + "id": 1318, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "318:3:5", + "referencedDeclaration": -15, + "src": "319:3:8", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1088, + "id": 1319, "isConstant": false, "isLValue": false, "isPure": false, @@ -501,86 +410,61 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "318:10:5", + "src": "319:10:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "298:30:5", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "310:20:8", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": ">=", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1090, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "332:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "332:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 1092, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "346:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "332:19:5", + "id": 1321, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1311, + "src": "334:6:8", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "298:53:5", + "src": "310:30:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "6c6f772073656e6465722062616c616e6365", + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "342:20:8", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "typeIdentifier": "t_stringliteral_fb73bad2e28677c27beff5c8d71fdd4f9b1f7058dbbb1595a8b207cd7b0a63a9", + "typeString": "literal_string \"low sender balance\"" + }, + "value": "low sender balance" } ], "expression": { @@ -588,23 +472,27 @@ { "typeIdentifier": "t_bool", "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fb73bad2e28677c27beff5c8d71fdd4f9b1f7058dbbb1595a8b207cd7b0a63a9", + "typeString": "literal_string \"low sender balance\"" } ], - "id": 1083, + "id": 1316, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2582, - 2583 + -18, + -18 ], - "referencedDeclaration": 2582, - "src": "290:7:5", + "referencedDeclaration": -18, + "src": "302:7:8", "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": 1095, + "id": 1324, "isConstant": false, "isLValue": false, "isPure": false, @@ -612,20 +500,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "290:62:5", + "src": "302:61:8", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1096, + "id": 1325, "nodeType": "ExpressionStatement", - "src": "290:62:5" + "src": "302:61:8" }, { "expression": { "argumentTypes": null, - "id": 1102, + "id": 1331, "isConstant": false, "isLValue": false, "isPure": false, @@ -634,34 +523,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1097, + "id": 1326, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "362:8:5", + "referencedDeclaration": 1369, + "src": "373:8:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1100, + "id": 1329, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1098, + "id": 1327, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "371:3:5", + "referencedDeclaration": -15, + "src": "382:3:8", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1099, + "id": 1328, "isConstant": false, "isLValue": false, "isPure": false, @@ -669,10 +558,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "371:10:5", + "src": "382:10:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -680,7 +569,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "362:20:5", + "src": "373:20:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -690,36 +579,31 @@ "operator": "-=", "rightHandSide": { "argumentTypes": null, - "hexValue": "31", - "id": 1101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "386:1:5", - "subdenomination": null, + "id": 1330, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1311, + "src": "397:6:8", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "src": "362:25:5", + "src": "373:30:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1103, + "id": 1332, "nodeType": "ExpressionStatement", - "src": "362:25:5" + "src": "373:30:8" }, { "expression": { "argumentTypes": null, - "id": 1108, + "id": 1337, "isConstant": false, "isLValue": false, "isPure": false, @@ -728,26 +612,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1104, + "id": 1333, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "397:8:5", + "referencedDeclaration": 1369, + "src": "413:8:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1106, + "id": 1335, "indexExpression": { "argumentTypes": null, - "id": 1105, + "id": 1334, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1076, - "src": "406:3:5", + "referencedDeclaration": 1309, + "src": "422:3:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -758,7 +642,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "397:13:5", + "src": "413:13:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -768,44 +652,39 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "hexValue": "31", - "id": 1107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "414:1:5", - "subdenomination": null, + "id": 1336, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1311, + "src": "430:6:8", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "src": "397:18:5", + "src": "413:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1109, + "id": 1338, "nodeType": "ExpressionStatement", - "src": "397:18:5" + "src": "413:23:8" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 1110, + "id": 1339, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "432:4:5", + "src": "453:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -813,58 +692,34 @@ }, "value": "true" }, - "functionReturnParameters": 1082, - "id": 1111, + "functionReturnParameters": 1315, + "id": 1340, "nodeType": "Return", - "src": "425:11:5" + "src": "446:11:8" } ] }, "documentation": null, - "id": 1113, + "functionSelector": "a9059cbb", + "id": 1342, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], - "name": "safeTransferFrom", + "name": "transfer", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1079, + "id": 1312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1074, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1113, - "src": "194:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "194:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1076, + "id": 1309, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1113, - "src": "209:11:5", + "overrides": null, + "scope": 1342, + "src": "213:11:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -872,10 +727,11 @@ "typeString": "address" }, "typeName": { - "id": 1075, + "id": 1308, "name": "address", "nodeType": "ElementaryTypeName", - "src": "209:7:5", + "src": "213:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -886,11 +742,12 @@ }, { "constant": false, - "id": 1078, - "name": "_tokenId", + "id": 1311, + "name": "_value", "nodeType": "VariableDeclaration", - "scope": 1113, - "src": "222:16:5", + "overrides": null, + "scope": 1342, + "src": "226:14:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -898,10 +755,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1077, + "id": 1310, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "222:7:5", + "src": "226:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -911,20 +768,20 @@ "visibility": "internal" } ], - "src": "193:46:5" + "src": "212:29:8" }, - "payable": true, "returnParameters": { - "id": 1082, + "id": 1315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1081, + "id": 1314, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1113, - "src": "266:12:5", + "overrides": null, + "scope": 1342, + "src": "274:12:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -932,10 +789,10 @@ "typeString": "bool" }, "typeName": { - "id": 1080, + "id": 1313, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "266:4:5", + "src": "274:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -945,180 +802,45 @@ "visibility": "internal" } ], - "src": "265:14:5" - }, - "scope": 1165, - "src": "168:275:5", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1124, - "nodeType": "Block", - "src": "515:40:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1120, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1158, - "src": "532:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1122, - "indexExpression": { - "argumentTypes": null, - "id": 1121, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1115, - "src": "539:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "532:16:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1119, - "id": 1123, - "nodeType": "Return", - "src": "525:23:5" - } - ] - }, - "documentation": null, - "id": 1125, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1115, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "scope": 1125, - "src": "465:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "465:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "464:18:5" - }, - "payable": false, - "returnParameters": { - "id": 1119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1118, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1125, - "src": "506:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "506:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "505:9:5" + "src": "273:14:8" }, - "scope": 1165, - "src": "448:107:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" + "scope": 1376, + "src": "195:269:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" }, { "body": { - "id": 1136, + "id": 1353, "nodeType": "Block", - "src": "633:40:5", + "src": "543:40:8", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1132, + "id": 1349, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "650:8:5", + "referencedDeclaration": 1369, + "src": "560:8:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1134, + "id": 1351, "indexExpression": { "argumentTypes": null, - "id": 1133, + "id": 1350, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "659:6:5", + "referencedDeclaration": 1344, + "src": "569:6:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1129,38 +851,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "650:16:5", + "src": "560:16:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1131, - "id": 1135, + "functionReturnParameters": 1348, + "id": 1352, "nodeType": "Return", - "src": "643:23:5" + "src": "553:23:8" } ] }, "documentation": null, - "id": 1137, + "functionSelector": "70a08231", + "id": 1354, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1128, + "id": 1345, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1127, + "id": 1344, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1137, - "src": "579:14:5", + "overrides": null, + "scope": 1354, + "src": "489:14:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1168,10 +892,11 @@ "typeString": "address" }, "typeName": { - "id": 1126, + "id": 1343, "name": "address", "nodeType": "ElementaryTypeName", - "src": "579:7:5", + "src": "489:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1181,20 +906,20 @@ "visibility": "internal" } ], - "src": "578:16:5" + "src": "488:16:8" }, - "payable": false, "returnParameters": { - "id": 1131, + "id": 1348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1130, + "id": 1347, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1137, - "src": "616:15:5", + "overrides": null, + "scope": 1354, + "src": "526:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1202,10 +927,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1129, + "id": 1346, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "616:7:5", + "src": "526:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1215,19 +940,19 @@ "visibility": "internal" } ], - "src": "615:17:5" + "src": "525:17:8" }, - "scope": 1165, - "src": "560:113:5", + "scope": 1376, + "src": "470:113:8", "stateMutability": "view", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1144, + "id": 1364, "nodeType": "Block", - "src": "703:36:5", + "src": "614:45:8", "statements": [ { "expression": { @@ -1235,37 +960,86 @@ "arguments": [ { "argumentTypes": null, - "id": 1141, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "726:5:5", + "arguments": [ + { + "argumentTypes": null, + "id": 1360, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1290, + "src": "645:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "637:8:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 1358, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "637:8:8", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "637:14:8", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 1140, + "id": 1357, "name": "selfdestruct", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2587, - "src": "713:12:5", + "referencedDeclaration": -21, + "src": "624:12:8", "typeDescriptions": { - "typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" + "typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable)" } }, - "id": 1142, + "id": 1362, "isConstant": false, "isLValue": false, "isPure": false, @@ -1273,121 +1047,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "713:19:5", + "src": "624:28:8", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1143, + "id": 1363, "nodeType": "ExpressionStatement", - "src": "713:19:5" + "src": "624:28:8" } ] }, "documentation": null, - "id": 1145, + "functionSelector": "b603cd80", + "id": 1365, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "killMe", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1138, + "id": 1355, "nodeType": "ParameterList", "parameters": [], - "src": "693:2:5" + "src": "604:2:8" }, - "payable": false, "returnParameters": { - "id": 1139, + "id": 1356, "nodeType": "ParameterList", "parameters": [], - "src": "703:0:5" + "src": "614:0:8" }, - "scope": 1165, - "src": "678:61:5", + "scope": 1376, + "src": "589:70:8", "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1148, - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "scope": 1165, - "src": "744:30:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "744:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 1147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "773:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 1150, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1165, - "src": "780:20:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "780:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, + "virtual": false, "visibility": "public" }, { "constant": false, - "id": 1154, + "id": 1369, "name": "balances", "nodeType": "VariableDeclaration", - "scope": 1165, - "src": "806:37:5", + "overrides": null, + "scope": 1376, + "src": "665:36:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1395,76 +1102,31 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1153, + "id": 1368, "keyType": { - "id": 1151, + "id": 1366, "name": "address", "nodeType": "ElementaryTypeName", - "src": "815:7:5", + "src": "673:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "806:28:5", + "src": "665:27:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "826:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1158, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 1165, - "src": "849:35:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 1157, - "keyType": { - "id": 1155, + "id": 1367, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "858:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "849:28:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 1156, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "869:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "src": "684:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } }, @@ -1473,11 +1135,12 @@ }, { "constant": false, - "id": 1164, + "id": 1375, "name": "allowed", "nodeType": "VariableDeclaration", - "scope": 1165, - "src": "890:57:5", + "overrides": null, + "scope": 1376, + "src": "707:55:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1485,46 +1148,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 1163, + "id": 1374, "keyType": { - "id": 1159, + "id": 1370, "name": "address", "nodeType": "ElementaryTypeName", - "src": "899:7:5", + "src": "715:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "890:49:5", + "src": "707:47:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 1162, + "id": 1373, "keyType": { - "id": 1160, + "id": 1371, "name": "address", "nodeType": "ElementaryTypeName", - "src": "919:7:5", + "src": "734:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "910:28:5", + "src": "726:27:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1161, + "id": 1372, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "930:7:5", + "src": "745:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1536,304 +1199,284 @@ "visibility": "internal" } ], - "scope": 1166, - "src": "25:925:5" + "scope": 1377, + "src": "26:739:8" } ], - "src": "0:950:5" + "src": "0:766:8" }, "legacyAST": { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/DummyERC721Token.sol", + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyToken.sol", "exportedSymbols": { "DummyToken": [ - 1165 + 1376 ] }, - "id": 1166, + "id": 1377, "nodeType": "SourceUnit", "nodes": [ { - "id": 1051, + "id": 1288, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:5" + "src": "0:23:8" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1165, + "id": 1376, "linearizedBaseContracts": [ - 1165 + 1376 ], "name": "DummyToken", "nodeType": "ContractDefinition", "nodes": [ + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 1290, + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1376, + "src": "52:20:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, { "body": { - "id": 1071, + "id": 1306, "nodeType": "Block", - "src": "72:91:5", + "src": "112:77:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 1057, + "id": 1299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1054, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "82:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, - "id": 1055, - "name": "msg", + "id": 1295, + "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "90:3:5", + "referencedDeclaration": 1369, + "src": "122:8:8", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" } }, - "id": 1056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "90:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "82:18:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1058, - "nodeType": "ExpressionStatement", - "src": "82:18:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { + "id": 1297, + "indexExpression": { "argumentTypes": null, - "id": 1059, - "name": "tokens", + "id": 1296, + "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1158, - "src": "110:6:5", + "referencedDeclaration": 1292, + "src": "131:4:8", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1061, - "indexExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 1060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "117:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "110:9:5", + "src": "122:14:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1062, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "122:5:5", + "hexValue": "353030303030303030303030303030", + "id": 1298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "139:15:8", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_rational_500000000000000_by_1", + "typeString": "int_const 500000000000000" + }, + "value": "500000000000000" }, - "src": "110:17:5", + "src": "122:32:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 1064, + "id": 1300, "nodeType": "ExpressionStatement", - "src": "110:17:5" + "src": "122:32:8" }, { "expression": { "argumentTypes": null, - "id": 1069, + "id": 1304, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1065, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "137:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1067, - "indexExpression": { - "argumentTypes": null, - "id": 1066, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "146:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "137:15:5", + "id": 1301, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1290, + "src": "164:5:8", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "hexValue": "31", - "id": 1068, + "expression": { + "argumentTypes": null, + "id": 1302, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "172:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1303, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "155:1:5", - "subdenomination": null, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "172:10:8", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } }, - "src": "137:19:5", + "src": "164:18:8", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1070, + "id": 1305, "nodeType": "ExpressionStatement", - "src": "137:19:5" + "src": "164:18:8" } ] }, "documentation": null, - "id": 1072, + "id": 1307, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1052, + "id": 1293, "nodeType": "ParameterList", - "parameters": [], - "src": "62:2:5" + "parameters": [ + { + "constant": false, + "id": 1292, + "name": "addr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1307, + "src": "91:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1291, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "91:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "90:14:8" }, - "payable": false, "returnParameters": { - "id": 1053, + "id": 1294, "nodeType": "ParameterList", "parameters": [], - "src": "72:0:5" + "src": "112:0:8" }, - "scope": 1165, - "src": "51:112:5", + "scope": 1376, + "src": "79:110:8", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1112, + "id": 1341, "nodeType": "Block", - "src": "280:163:5", + "src": "292:172:8", "statements": [ { "expression": { @@ -1842,83 +1485,46 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 1094, + "id": 1322, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1084, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1158, - "src": "298:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1086, - "indexExpression": { - "argumentTypes": null, - "id": 1085, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "305:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "298:16:5", + "id": 1317, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "310:8:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "id": 1320, + "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1087, + "id": 1318, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "318:3:5", + "referencedDeclaration": -15, + "src": "319:3:8", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1088, + "id": 1319, "isConstant": false, "isLValue": false, "isPure": false, @@ -1926,86 +1532,61 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "318:10:5", + "src": "319:10:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "298:30:5", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "310:20:8", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": ">=", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1090, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "332:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "332:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 1092, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "346:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "332:19:5", + "id": 1321, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1311, + "src": "334:6:8", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "298:53:5", + "src": "310:30:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + { + "argumentTypes": null, + "hexValue": "6c6f772073656e6465722062616c616e6365", + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "342:20:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb73bad2e28677c27beff5c8d71fdd4f9b1f7058dbbb1595a8b207cd7b0a63a9", + "typeString": "literal_string \"low sender balance\"" + }, + "value": "low sender balance" } ], "expression": { @@ -2013,23 +1594,27 @@ { "typeIdentifier": "t_bool", "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fb73bad2e28677c27beff5c8d71fdd4f9b1f7058dbbb1595a8b207cd7b0a63a9", + "typeString": "literal_string \"low sender balance\"" } ], - "id": 1083, + "id": 1316, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2582, - 2583 + -18, + -18 ], - "referencedDeclaration": 2582, - "src": "290:7:5", + "referencedDeclaration": -18, + "src": "302:7:8", "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": 1095, + "id": 1324, "isConstant": false, "isLValue": false, "isPure": false, @@ -2037,20 +1622,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "290:62:5", + "src": "302:61:8", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1096, + "id": 1325, "nodeType": "ExpressionStatement", - "src": "290:62:5" + "src": "302:61:8" }, { "expression": { "argumentTypes": null, - "id": 1102, + "id": 1331, "isConstant": false, "isLValue": false, "isPure": false, @@ -2059,34 +1645,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1097, + "id": 1326, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "362:8:5", + "referencedDeclaration": 1369, + "src": "373:8:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1100, + "id": 1329, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1098, + "id": 1327, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "371:3:5", + "referencedDeclaration": -15, + "src": "382:3:8", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1099, + "id": 1328, "isConstant": false, "isLValue": false, "isPure": false, @@ -2094,10 +1680,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "371:10:5", + "src": "382:10:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -2105,7 +1691,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "362:20:5", + "src": "373:20:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2115,36 +1701,31 @@ "operator": "-=", "rightHandSide": { "argumentTypes": null, - "hexValue": "31", - "id": 1101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "386:1:5", - "subdenomination": null, + "id": 1330, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1311, + "src": "397:6:8", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "src": "362:25:5", + "src": "373:30:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1103, + "id": 1332, "nodeType": "ExpressionStatement", - "src": "362:25:5" + "src": "373:30:8" }, { "expression": { "argumentTypes": null, - "id": 1108, + "id": 1337, "isConstant": false, "isLValue": false, "isPure": false, @@ -2153,26 +1734,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1104, + "id": 1333, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "397:8:5", + "referencedDeclaration": 1369, + "src": "413:8:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1106, + "id": 1335, "indexExpression": { "argumentTypes": null, - "id": 1105, + "id": 1334, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1076, - "src": "406:3:5", + "referencedDeclaration": 1309, + "src": "422:3:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2183,7 +1764,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "397:13:5", + "src": "413:13:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2193,44 +1774,39 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "hexValue": "31", - "id": 1107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "414:1:5", - "subdenomination": null, + "id": 1336, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1311, + "src": "430:6:8", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "src": "397:18:5", + "src": "413:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1109, + "id": 1338, "nodeType": "ExpressionStatement", - "src": "397:18:5" + "src": "413:23:8" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 1110, + "id": 1339, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "432:4:5", + "src": "453:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2238,58 +1814,34 @@ }, "value": "true" }, - "functionReturnParameters": 1082, - "id": 1111, + "functionReturnParameters": 1315, + "id": 1340, "nodeType": "Return", - "src": "425:11:5" + "src": "446:11:8" } ] }, "documentation": null, - "id": 1113, + "functionSelector": "a9059cbb", + "id": 1342, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], - "name": "safeTransferFrom", + "name": "transfer", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1079, + "id": 1312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1074, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1113, - "src": "194:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "194:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1076, + "id": 1309, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1113, - "src": "209:11:5", + "overrides": null, + "scope": 1342, + "src": "213:11:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2297,10 +1849,11 @@ "typeString": "address" }, "typeName": { - "id": 1075, + "id": 1308, "name": "address", "nodeType": "ElementaryTypeName", - "src": "209:7:5", + "src": "213:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2311,11 +1864,12 @@ }, { "constant": false, - "id": 1078, - "name": "_tokenId", + "id": 1311, + "name": "_value", "nodeType": "VariableDeclaration", - "scope": 1113, - "src": "222:16:5", + "overrides": null, + "scope": 1342, + "src": "226:14:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2323,10 +1877,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1077, + "id": 1310, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "222:7:5", + "src": "226:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2336,20 +1890,20 @@ "visibility": "internal" } ], - "src": "193:46:5" + "src": "212:29:8" }, - "payable": true, "returnParameters": { - "id": 1082, + "id": 1315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1081, + "id": 1314, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1113, - "src": "266:12:5", + "overrides": null, + "scope": 1342, + "src": "274:12:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2357,10 +1911,10 @@ "typeString": "bool" }, "typeName": { - "id": 1080, + "id": 1313, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "266:4:5", + "src": "274:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2370,180 +1924,45 @@ "visibility": "internal" } ], - "src": "265:14:5" - }, - "scope": 1165, - "src": "168:275:5", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1124, - "nodeType": "Block", - "src": "515:40:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1120, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1158, - "src": "532:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1122, - "indexExpression": { - "argumentTypes": null, - "id": 1121, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1115, - "src": "539:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "532:16:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1119, - "id": 1123, - "nodeType": "Return", - "src": "525:23:5" - } - ] - }, - "documentation": null, - "id": 1125, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1115, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "scope": 1125, - "src": "465:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "465:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "464:18:5" + "src": "273:14:8" }, - "payable": false, - "returnParameters": { - "id": 1119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1118, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1125, - "src": "506:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "506:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "505:9:5" - }, - "scope": 1165, - "src": "448:107:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" + "scope": 1376, + "src": "195:269:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" }, { "body": { - "id": 1136, + "id": 1353, "nodeType": "Block", - "src": "633:40:5", + "src": "543:40:8", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1132, + "id": 1349, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "650:8:5", + "referencedDeclaration": 1369, + "src": "560:8:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1134, + "id": 1351, "indexExpression": { "argumentTypes": null, - "id": 1133, + "id": 1350, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "659:6:5", + "referencedDeclaration": 1344, + "src": "569:6:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2554,38 +1973,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "650:16:5", + "src": "560:16:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1131, - "id": 1135, + "functionReturnParameters": 1348, + "id": 1352, "nodeType": "Return", - "src": "643:23:5" + "src": "553:23:8" } ] }, "documentation": null, - "id": 1137, + "functionSelector": "70a08231", + "id": 1354, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1128, + "id": 1345, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1127, + "id": 1344, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1137, - "src": "579:14:5", + "overrides": null, + "scope": 1354, + "src": "489:14:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2593,10 +2014,11 @@ "typeString": "address" }, "typeName": { - "id": 1126, + "id": 1343, "name": "address", "nodeType": "ElementaryTypeName", - "src": "579:7:5", + "src": "489:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2606,20 +2028,20 @@ "visibility": "internal" } ], - "src": "578:16:5" + "src": "488:16:8" }, - "payable": false, "returnParameters": { - "id": 1131, + "id": 1348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1130, + "id": 1347, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1137, - "src": "616:15:5", + "overrides": null, + "scope": 1354, + "src": "526:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2627,10 +2049,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1129, + "id": 1346, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "616:7:5", + "src": "526:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2640,19 +2062,19 @@ "visibility": "internal" } ], - "src": "615:17:5" + "src": "525:17:8" }, - "scope": 1165, - "src": "560:113:5", + "scope": 1376, + "src": "470:113:8", "stateMutability": "view", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1144, + "id": 1364, "nodeType": "Block", - "src": "703:36:5", + "src": "614:45:8", "statements": [ { "expression": { @@ -2660,37 +2082,86 @@ "arguments": [ { "argumentTypes": null, - "id": 1141, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "726:5:5", + "arguments": [ + { + "argumentTypes": null, + "id": 1360, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1290, + "src": "645:5:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "637:8:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 1358, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "637:8:8", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "637:14:8", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 1140, + "id": 1357, "name": "selfdestruct", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2587, - "src": "713:12:5", + "referencedDeclaration": -21, + "src": "624:12:8", "typeDescriptions": { - "typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" + "typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable)" } }, - "id": 1142, + "id": 1362, "isConstant": false, "isLValue": false, "isPure": false, @@ -2698,121 +2169,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "713:19:5", + "src": "624:28:8", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1143, + "id": 1363, "nodeType": "ExpressionStatement", - "src": "713:19:5" + "src": "624:28:8" } ] }, "documentation": null, - "id": 1145, + "functionSelector": "b603cd80", + "id": 1365, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "killMe", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1138, + "id": 1355, "nodeType": "ParameterList", "parameters": [], - "src": "693:2:5" + "src": "604:2:8" }, - "payable": false, "returnParameters": { - "id": 1139, + "id": 1356, "nodeType": "ParameterList", "parameters": [], - "src": "703:0:5" + "src": "614:0:8" }, - "scope": 1165, - "src": "678:61:5", + "scope": 1376, + "src": "589:70:8", "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1148, - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "scope": 1165, - "src": "744:30:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "744:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 1147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "773:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 1150, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1165, - "src": "780:20:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "780:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, + "virtual": false, "visibility": "public" }, { "constant": false, - "id": 1154, + "id": 1369, "name": "balances", "nodeType": "VariableDeclaration", - "scope": 1165, - "src": "806:37:5", + "overrides": null, + "scope": 1376, + "src": "665:36:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2820,77 +2224,32 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1153, + "id": 1368, "keyType": { - "id": 1151, + "id": 1366, "name": "address", "nodeType": "ElementaryTypeName", - "src": "815:7:5", + "src": "673:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "806:28:5", + "src": "665:27:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "826:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1158, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 1165, - "src": "849:35:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 1157, - "keyType": { - "id": 1155, + "id": 1367, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "858:7:5", + "src": "684:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "nodeType": "Mapping", - "src": "849:28:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 1156, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "869:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } } }, "value": null, @@ -2898,11 +2257,12 @@ }, { "constant": false, - "id": 1164, + "id": 1375, "name": "allowed", "nodeType": "VariableDeclaration", - "scope": 1165, - "src": "890:57:5", + "overrides": null, + "scope": 1376, + "src": "707:55:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2910,46 +2270,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 1163, + "id": 1374, "keyType": { - "id": 1159, + "id": 1370, "name": "address", "nodeType": "ElementaryTypeName", - "src": "899:7:5", + "src": "715:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "890:49:5", + "src": "707:47:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 1162, + "id": 1373, "keyType": { - "id": 1160, + "id": 1371, "name": "address", "nodeType": "ElementaryTypeName", - "src": "919:7:5", + "src": "734:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "910:28:5", + "src": "726:27:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1161, + "id": 1372, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "930:7:5", + "src": "745:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2961,19 +2321,19 @@ "visibility": "internal" } ], - "scope": 1166, - "src": "25:925:5" + "scope": 1377, + "src": "26:739:8" } ], - "src": "0:950:5" + "src": "0:766:8" }, "compiler": { "name": "solc", - "version": "0.4.26+commit.4563c3fc.Emscripten.clang" + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.11", - "updatedAt": "2019-07-11T20:34:24.918Z", + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T00:58:12.939Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 141230b..e79eda7 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -2,116 +2,104 @@ "contractName": "Migrations", "abi": [ { - "constant": true, + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "name": "last_completed_migration", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [], "name": "owner", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": false, "inputs": [ { + "internalType": "uint256", "name": "completed", "type": "uint256" } ], "name": "setCompleted", "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "new_address", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"new_address\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Migrations.sol\":{\"keccak256\":\"0x3b0f34385ccdea88ac219ce348f5a70e353b2e666f8ec02a67cfaf4b5d73c0e0\",\"urls\":[\"bzzr://49d50b448d9e51ec72ed1d666a842019dac8f2469ffb2471eb93efe5de0b83e5\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102f8806100606000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100aa5780638da5cb5b146100d5578063fdacd5761461012c575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610159565b005b3480156100b657600080fd5b506100bf610241565b6040518082815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610247565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101576004803603810190808035906020019092919050505061026c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561023d578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b505050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102c957806001819055505b505600a165627a7a72305820c09cc9b57b53fd13b5d52045bec2f304ad4c0a45086ac5efc560f40e55f21afe0029", - "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100aa5780638da5cb5b146100d5578063fdacd5761461012c575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610159565b005b3480156100b657600080fd5b506100bf610241565b6040518082815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610247565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101576004803603810190808035906020019092919050505061026c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561023d578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b505050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102c957806001819055505b505600a165627a7a72305820c09cc9b57b53fd13b5d52045bec2f304ad4c0a45086ac5efc560f40e55f21afe0029", - "sourceMap": "26:520:0:-;;;192:56;8:9:-1;5:2;;;30:1;27;20:12;5:2;192:56:0;231:10;223:5;;:18;;;;;;;;;;;;;;;;;;26:520;;;;;;", - "deployedSourceMap": "26:520:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;369:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;369:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;78:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;78:36:0;;;;;;;;;;;;;;;;;;;;;;;52:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;52:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;254:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;254:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;369:175;435:19;171:5;;;;;;;;;;;157:19;;:10;:19;;;153:26;;;468:11;435:45;;490:8;:21;;;512:24;;490:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;490:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;490:47:0;;;;153:26;369:175;;:::o;78:36::-;;;;:::o;52:20::-;;;;;;;;;;;;;:::o;254:109::-;171:5;;;;;;;;;;;157:19;;:10;:19;;;153:26;;;347:9;320:24;:36;;;;153:26;254:109;:::o", - "source": "pragma solidity ^0.4.17;\n\ncontract Migrations {\n address public owner;\n uint public last_completed_migration;\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n constructor() public {\n owner = msg.sender;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) public restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Migrations.sol\":{\"keccak256\":\"0x52169b6aadab248a689bea035650ae34cf3f261af60e20faf905c643edc2dace\",\"urls\":[\"bzz-raw://847004bae69dfd74790e880c336b21e94d7aeaf075f230b86089ac1c51dcc67f\",\"dweb:/ipfs/QmYTaaYTzNa5ok85k1ohqUEEfRRxK1vWGW3dVfgQEoaDMw\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061019d806100606000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610064578063fdacd576146100ae575b600080fd5b61004e6100dc565b6040518082815260200191505060405180910390f35b61006c6100e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100da600480360360208110156100c457600080fd5b8101908080359060200190929190505050610107565b005b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561016457806001819055505b5056fea2646970667358221220d480d05161b6bcd2f016871d43f3f899d5ae2a82485335c904780283f4a4690a64736f6c63430006040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610064578063fdacd576146100ae575b600080fd5b61004e6100dc565b6040518082815260200191505060405180910390f35b61006c6100e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100da600480360360208110156100c457600080fd5b8101908080359060200190929190505050610107565b005b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561016457806001819055505b5056fea2646970667358221220d480d05161b6bcd2f016871d43f3f899d5ae2a82485335c904780283f4a4690a64736f6c63430006040033", + "sourceMap": "35:345:0:-:0;;;133:56;5:9:-1;2:2;;;27:1;24;17:12;2:2;133:56:0;172:10;164:5;;:18;;;;;;;;;;;;;;;;;;35:345;;;;;;", + "deployedSourceMap": "35:345:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;35:345:0;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;87:39:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;61:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;266:112;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;266:112:0;;;;;;;;;;;;;;;;;:::i;:::-;;87:39;;;;:::o;61:20::-;;;;;;;;;;;;;:::o;266:112::-;245:5;;;;;;;;;;;231:19;;:10;:19;;;227:26;;;362:9:::1;335:24;:36;;;;227:26:::0;266:112;:::o", + "source": "pragma solidity >=0.4.21 <0.7.0;\n\n\ncontract Migrations {\n address public owner;\n uint256 public last_completed_migration;\n\n constructor() public {\n owner = msg.sender;\n }\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n function setCompleted(uint256 completed) public restricted {\n last_completed_migration = completed;\n }\n}\n", "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Migrations.sol", "ast": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ - 56 + 36 ] }, - "id": 57, + "id": 37, "nodeType": "SourceUnit", "nodes": [ { "id": 1, "literals": [ "solidity", - "^", + ">=", "0.4", - ".17" + ".21", + "<", + "0.7", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:0" + "src": "0:32:0" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 56, + "id": 36, "linearizedBaseContracts": [ - 56 + 36 ], "name": "Migrations", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, + "functionSelector": "8da5cb5b", "id": 3, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 56, - "src": "52:20:0", + "overrides": null, + "scope": 36, + "src": "61:20:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -122,7 +110,8 @@ "id": 2, "name": "address", "nodeType": "ElementaryTypeName", - "src": "52:7:0", + "src": "61:7:0", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -133,11 +122,13 @@ }, { "constant": false, + "functionSelector": "445df0ac", "id": 5, "name": "last_completed_migration", "nodeType": "VariableDeclaration", - "scope": 56, - "src": "78:36:0", + "overrides": null, + "scope": 36, + "src": "87:39:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -146,9 +137,9 @@ }, "typeName": { "id": 4, - "name": "uint", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "78:4:0", + "src": "87:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -161,36 +152,47 @@ "body": { "id": 13, "nodeType": "Block", - "src": "143:43:0", + "src": "154:35:0", "statements": [ { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 10, + "id": 11, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { + "argumentTypes": null, + "id": 8, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7, + "id": 9, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "157:3:0", + "referencedDeclaration": -15, + "src": "172:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8, + "id": 10, "isConstant": false, "isLValue": false, "isPure": false, @@ -198,103 +200,84 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "157:10:0", + "src": "172:10:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "171:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "157:19:0", + "src": "164:18:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "falseBody": null, "id": 12, - "nodeType": "IfStatement", - "src": "153:26:0", - "trueBody": { - "id": 11, - "nodeType": "PlaceholderStatement", - "src": "178:1:0" - } + "nodeType": "ExpressionStatement", + "src": "164:18:0" } ] }, "documentation": null, "id": 14, - "name": "restricted", - "nodeType": "ModifierDefinition", + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { "id": 6, "nodeType": "ParameterList", "parameters": [], - "src": "140:2:0" + "src": "144:2:0" }, - "src": "121:65:0", - "visibility": "internal" + "returnParameters": { + "id": 7, + "nodeType": "ParameterList", + "parameters": [], + "src": "154:0:0" + }, + "scope": 36, + "src": "133:56:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" }, { "body": { "id": 22, "nodeType": "Block", - "src": "213:35:0", + "src": "217:43:0", "statements": [ { - "expression": { + "condition": { "argumentTypes": null, - "id": 20, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 19, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "223:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 18, + "id": 16, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, + "referencedDeclaration": -15, "src": "231:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 19, + "id": 17, "isConstant": false, "isLValue": false, "isPure": false, @@ -303,55 +286,64 @@ "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "231:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "245:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "223:18:0", + "src": "231:19:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, + "falseBody": null, "id": 21, - "nodeType": "ExpressionStatement", - "src": "223:18:0" + "nodeType": "IfStatement", + "src": "227:26:0", + "trueBody": { + "id": 20, + "nodeType": "PlaceholderStatement", + "src": "252:1:0" + } } ] }, "documentation": null, "id": 23, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", + "name": "restricted", + "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { "id": 15, "nodeType": "ParameterList", "parameters": [], - "src": "203:2:0" - }, - "payable": false, - "returnParameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [], - "src": "213:0:0" + "src": "214:2:0" }, - "scope": 56, - "src": "192:56:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" + "src": "195:65:0", + "virtual": false, + "visibility": "internal" }, { "body": { "id": 34, "nodeType": "Block", - "src": "310:53:0", + "src": "325:53:0", "statements": [ { "expression": { @@ -368,7 +360,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, - "src": "320:24:0", + "src": "335:24:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -383,13 +375,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 25, - "src": "347:9:0", + "src": "362:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "320:36:0", + "src": "335:36:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -397,15 +389,15 @@ }, "id": 33, "nodeType": "ExpressionStatement", - "src": "320:36:0" + "src": "335:36:0" } ] }, "documentation": null, + "functionSelector": "fdacd576", "id": 35, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, @@ -416,19 +408,20 @@ "name": "restricted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14, - "src": "299:10:0", + "referencedDeclaration": 23, + "src": "314:10:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "299:10:0" + "src": "314:10:0" } ], "name": "setCompleted", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { "id": 26, "nodeType": "ParameterList", @@ -438,8 +431,9 @@ "id": 25, "name": "completed", "nodeType": "VariableDeclaration", + "overrides": null, "scope": 35, - "src": "276:14:0", + "src": "288:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -448,9 +442,9 @@ }, "typeName": { "id": 24, - "name": "uint", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "276:4:0", + "src": "288:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -460,308 +454,74 @@ "visibility": "internal" } ], - "src": "275:16:0" + "src": "287:19:0" }, - "payable": false, "returnParameters": { "id": 29, "nodeType": "ParameterList", "parameters": [], - "src": "310:0:0" - }, - "scope": 56, - "src": "254:109:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 54, - "nodeType": "Block", - "src": "425:119:0", - "statements": [ - { - "assignments": [ - 43 - ], - "declarations": [ - { - "constant": false, - "id": 43, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "scope": 55, - "src": "435:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 42, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 56, - "src": "435:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 47, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 45, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "468:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 44, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56, - "src": "457:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$56_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "457:23:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "435:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 51, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "512:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 48, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43, - "src": "490:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 35, - "src": "490:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 52, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "490:47:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 53, - "nodeType": "ExpressionStatement", - "src": "490:47:0" - } - ] - }, - "documentation": null, - "id": 55, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 40, - "modifierName": { - "argumentTypes": null, - "id": 39, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14, - "src": "414:10:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "414:10:0" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 37, - "name": "new_address", - "nodeType": "VariableDeclaration", - "scope": 55, - "src": "386:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 36, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "386:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "385:21:0" - }, - "payable": false, - "returnParameters": { - "id": 41, - "nodeType": "ParameterList", - "parameters": [], - "src": "425:0:0" + "src": "325:0:0" }, - "scope": 56, - "src": "369:175:0", + "scope": 36, + "src": "266:112:0", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" } ], - "scope": 57, - "src": "26:520:0" + "scope": 37, + "src": "35:345:0" } ], - "src": "0:547:0" + "src": "0:381:0" }, "legacyAST": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ - 56 + 36 ] }, - "id": 57, + "id": 37, "nodeType": "SourceUnit", "nodes": [ { "id": 1, "literals": [ "solidity", - "^", + ">=", "0.4", - ".17" + ".21", + "<", + "0.7", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:0" + "src": "0:32:0" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 56, + "id": 36, "linearizedBaseContracts": [ - 56 + 36 ], "name": "Migrations", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, + "functionSelector": "8da5cb5b", "id": 3, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 56, - "src": "52:20:0", + "overrides": null, + "scope": 36, + "src": "61:20:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -772,7 +532,8 @@ "id": 2, "name": "address", "nodeType": "ElementaryTypeName", - "src": "52:7:0", + "src": "61:7:0", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -783,11 +544,13 @@ }, { "constant": false, + "functionSelector": "445df0ac", "id": 5, "name": "last_completed_migration", "nodeType": "VariableDeclaration", - "scope": 56, - "src": "78:36:0", + "overrides": null, + "scope": 36, + "src": "87:39:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -796,9 +559,9 @@ }, "typeName": { "id": 4, - "name": "uint", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "78:4:0", + "src": "87:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -811,36 +574,47 @@ "body": { "id": 13, "nodeType": "Block", - "src": "143:43:0", + "src": "154:35:0", "statements": [ { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 10, + "id": 11, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { + "argumentTypes": null, + "id": 8, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7, + "id": 9, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "157:3:0", + "referencedDeclaration": -15, + "src": "172:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8, + "id": 10, "isConstant": false, "isLValue": false, "isPure": false, @@ -848,103 +622,84 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "157:10:0", + "src": "172:10:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "171:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "157:19:0", + "src": "164:18:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "falseBody": null, "id": 12, - "nodeType": "IfStatement", - "src": "153:26:0", - "trueBody": { - "id": 11, - "nodeType": "PlaceholderStatement", - "src": "178:1:0" - } + "nodeType": "ExpressionStatement", + "src": "164:18:0" } ] }, "documentation": null, "id": 14, - "name": "restricted", - "nodeType": "ModifierDefinition", + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { "id": 6, "nodeType": "ParameterList", "parameters": [], - "src": "140:2:0" + "src": "144:2:0" }, - "src": "121:65:0", - "visibility": "internal" + "returnParameters": { + "id": 7, + "nodeType": "ParameterList", + "parameters": [], + "src": "154:0:0" + }, + "scope": 36, + "src": "133:56:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" }, { "body": { "id": 22, "nodeType": "Block", - "src": "213:35:0", + "src": "217:43:0", "statements": [ { - "expression": { + "condition": { "argumentTypes": null, - "id": 20, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 19, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 17, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "223:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 18, + "id": 16, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, + "referencedDeclaration": -15, "src": "231:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 19, + "id": 17, "isConstant": false, "isLValue": false, "isPure": false, @@ -953,55 +708,64 @@ "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "231:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "245:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "223:18:0", + "src": "231:19:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, + "falseBody": null, "id": 21, - "nodeType": "ExpressionStatement", - "src": "223:18:0" + "nodeType": "IfStatement", + "src": "227:26:0", + "trueBody": { + "id": 20, + "nodeType": "PlaceholderStatement", + "src": "252:1:0" + } } ] }, "documentation": null, "id": 23, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", + "name": "restricted", + "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { "id": 15, "nodeType": "ParameterList", "parameters": [], - "src": "203:2:0" - }, - "payable": false, - "returnParameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [], - "src": "213:0:0" + "src": "214:2:0" }, - "scope": 56, - "src": "192:56:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" + "src": "195:65:0", + "virtual": false, + "visibility": "internal" }, { "body": { "id": 34, "nodeType": "Block", - "src": "310:53:0", + "src": "325:53:0", "statements": [ { "expression": { @@ -1018,7 +782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, - "src": "320:24:0", + "src": "335:24:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1033,13 +797,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 25, - "src": "347:9:0", + "src": "362:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "320:36:0", + "src": "335:36:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1047,15 +811,15 @@ }, "id": 33, "nodeType": "ExpressionStatement", - "src": "320:36:0" + "src": "335:36:0" } ] }, "documentation": null, + "functionSelector": "fdacd576", "id": 35, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, @@ -1066,19 +830,20 @@ "name": "restricted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14, - "src": "299:10:0", + "referencedDeclaration": 23, + "src": "314:10:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "299:10:0" + "src": "314:10:0" } ], "name": "setCompleted", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { "id": 26, "nodeType": "ParameterList", @@ -1088,8 +853,9 @@ "id": 25, "name": "completed", "nodeType": "VariableDeclaration", + "overrides": null, "scope": 35, - "src": "276:14:0", + "src": "288:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1098,9 +864,9 @@ }, "typeName": { "id": 24, - "name": "uint", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "276:4:0", + "src": "288:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1110,281 +876,41 @@ "visibility": "internal" } ], - "src": "275:16:0" + "src": "287:19:0" }, - "payable": false, "returnParameters": { "id": 29, "nodeType": "ParameterList", "parameters": [], - "src": "310:0:0" - }, - "scope": 56, - "src": "254:109:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 54, - "nodeType": "Block", - "src": "425:119:0", - "statements": [ - { - "assignments": [ - 43 - ], - "declarations": [ - { - "constant": false, - "id": 43, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "scope": 55, - "src": "435:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 42, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 56, - "src": "435:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 47, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 45, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "468:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 44, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56, - "src": "457:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$56_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "457:23:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "435:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 51, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "512:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 48, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43, - "src": "490:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 35, - "src": "490:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 52, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "490:47:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 53, - "nodeType": "ExpressionStatement", - "src": "490:47:0" - } - ] - }, - "documentation": null, - "id": 55, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 40, - "modifierName": { - "argumentTypes": null, - "id": 39, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 14, - "src": "414:10:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "414:10:0" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 37, - "name": "new_address", - "nodeType": "VariableDeclaration", - "scope": 55, - "src": "386:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 36, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "386:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "385:21:0" - }, - "payable": false, - "returnParameters": { - "id": 41, - "nodeType": "ParameterList", - "parameters": [], - "src": "425:0:0" + "src": "325:0:0" }, - "scope": 56, - "src": "369:175:0", + "scope": 36, + "src": "266:112:0", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" } ], - "scope": 57, - "src": "26:520:0" + "scope": 37, + "src": "35:345:0" } ], - "src": "0:547:0" + "src": "0:381:0" }, "compiler": { "name": "solc", - "version": "0.4.26+commit.4563c3fc.Emscripten.clang" + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" }, "networks": { "5777": { "events": {}, "links": {}, - "address": "0x96927D93183572fcE7cFd0d084080a30F2142CBb", - "transactionHash": "0x11502a990eebb40ce8742d415ddc083d887557cc6f93e39054b35d367e75cde4" + "address": "0x298E4fA09c593eA27bf3FfeDAFB71378B239e5Ea", + "transactionHash": "0x77136b0605e3b98ef45a6274725276824cd9479402d26918a51ce6e75a01e97a" } }, - "schemaVersion": "3.0.11", - "updatedAt": "2019-06-26T04:51:10.189Z", + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T07:54:59.206Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/NFTBalances.json b/build/contracts/NFTBalances.json index 881d0d6..836ba9e 100644 --- a/build/contracts/NFTBalances.json +++ b/build/contracts/NFTBalances.json @@ -3,18 +3,18 @@ "abi": [ { "inputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { - "constant": true, "inputs": [ { + "internalType": "address", "name": "tokenAddr", "type": "address" }, { + "internalType": "address", "name": "addr", "type": "address" } @@ -22,26 +22,28 @@ "name": "getTokenBalance", "outputs": [ { + "internalType": "uint256", "name": "bal", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { - "constant": true, "inputs": [ { + "internalType": "address", "name": "tokenAddr", "type": "address" }, { + "internalType": "address", "name": "owner", "type": "address" }, { + "internalType": "uint256", "name": "tokenId", "type": "uint256" } @@ -49,18 +51,18 @@ "name": "tokenOfOwnerByIndex", "outputs": [ { + "internalType": "uint256", "name": "token", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { - "constant": true, "inputs": [ { + "internalType": "uint256", "name": "number", "type": "uint256" } @@ -68,210 +70,159 @@ "name": "getByteSize", "outputs": [ { + "internalType": "uint8", "name": "", "type": "uint8" } ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_tokenAddresses", - "type": "address[]" - }, - { - "name": "_owner", - "type": "address" - } - ], - "name": "getTokenBalances", - "outputs": [ - { - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_tokenAddress", - "type": "address" - }, - { - "name": "_owner", - "type": "address" - }, - { - "name": "idxOffset", - "type": "uint256" - }, - { - "name": "count", - "type": "uint256" - } - ], - "name": "getOwnedTokens", - "outputs": [ - { - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getByteSize\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenAddr\",\"type\":\"address\"},{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"name\":\"token\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"idxOffset\",\"type\":\"uint256\"},{\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"getOwnedTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tokenAddresses\",\"type\":\"address[]\"},{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"getTokenBalances\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenAddr\",\"type\":\"address\"},{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getTokenBalance\",\"outputs\":[{\"name\":\"bal\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/NFTBalances.sol\":\"NFTBalances\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol\":{\"keccak256\":\"0x7abcc4447031026fce32aa0dda3c793149492b1dff86d1af8d70933a828f790e\",\"urls\":[\"bzzr://c468730a3106332b059555dfa7eb92880d377d8cf149657d839d54e238d6f825\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol\":{\"keccak256\":\"0xe43c18f7cd032e65bebea3b701bbb0d46fe0235d4e7d44d4939696c102906839\",\"urls\":[\"bzzr://0ed9a1f6408ddfd6fd7e17b855dc416dcad1e0141c0158d838df6c4bf82729c6\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol\":{\"keccak256\":\"0x280f6854ddf4d9b6b38c9fa51b4422b9a45f18a2e29f428a0f8174134e5836c9\",\"urls\":[\"bzzr://5b029fc6b26d749e509517a25c09150d741a028a6e05889e42fda0e6f6ba8d36\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol\":{\"keccak256\":\"0x84ca9cf629fb4e0228c9bc3354ab616de508a6113e6636604870361fc079d65b\",\"urls\":[\"bzzr://d78db3c2a2c54f35b7c5ba51888793c1a98a7fccaf2030f64cfee97ba2cd4b22\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/DummyERC721Token.sol\":{\"keccak256\":\"0x8b3fbfb818a87b6b912168fc18e9cc34b2b6a912f77659771a25e60d36ada111\",\"urls\":[\"bzzr://dcee44e30b61846cdcc56830c2da50230258e9029b1a6446f09a220985309f13\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/NFTBalances.sol\":{\"keccak256\":\"0x31fca0dbc980337ed0b24e12f78503096430f8a9c27ed704717517599d47ba28\",\"urls\":[\"bzzr://e5866f905934a50898e2e80afcdb798e3ffc41cb150849f6f1f364ec6bd7909c\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061099e806100206000396000f30060806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063533c279a146100725780636b42bf2f146100b95780637bca388c1461013a578063c3fae3621461022a578063c489744b14610329575b600080fd5b34801561007e57600080fd5b5061009d600480360381019080803590602001909291905050506103a0565b604051808260ff1660ff16815260200191505060405180910390f35b3480156100c557600080fd5b50610124600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610418565b6040518082815260200191505060405180910390f35b34801561014657600080fd5b506101af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506104c4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ef5780820151818401526020810190506101d4565b50505050905090810190601f16801561021c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023657600080fd5b506102ae60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061070f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102ee5780820151818401526020810190506102d3565b50505050905090810190601f16801561031b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033557600080fd5b5061038a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108c5565b6040518082815260200191505060405180910390f35b600080600090505b6000831415156103ca5780806001019150506001839060020a900492506103a8565b600060088260ff168115156103db57fe5b0660ff1614156103fc5760088160ff168115156103f457fe5b049150610412565b600160088260ff1681151561040d57fe5b040191505b50919050565b60008060405180807f746f6b656e4f664f776e65724279496e64657828616464726573732c75696e7481526020017f323536290000000000000000000000000000000000000000000000000000000081525060240190506040518091039020905060405181815284600482015283602482015260208160448360008a620249f0f18015156104a557600093505b60008111156104b357815193505b602082016040525050509392505050565b606060008060006060600060606000808c6000813b905060008163ffffffff16111515610559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f74206120636f6e747261637400000000000000000000000000000000000081525060200191505060405180910390fd5b6021995060208a01995061056d8f8f6108c5565b98508b9750888c8e011115610582578c890397505b876040519080825280602002602001820160405280156105b15781602001602082028038833980820191505090505b509650600095505b87861015610624576105ce8f8f8f8901610418565b87878151811015156105dc57fe5b906020019060200201818152505060018a019950610610878781518110151561060157fe5b906020019060200201516103a0565b60ff168a01995085806001019650506105b9565b896040519080825280601f01601f1916602001820160405280156106575781602001602082028038833980820191505090505b50945089935061066984600187610944565b60018403935061067a848987610968565b602084039350600095505b878610156106fa576106ad878781518110151561069e57fe5b906020019060200201516103a0565b92506106bd848460ff1687610968565b6001840393506106e58488888151811015156106d557fe5b9060200190602002015187610968565b8260ff16840393508580600101965050610685565b849a5050505050505050505050949350505050565b606060006060600060606000806021955060208601955088516040519080825280602002602001820160405280156107565781602001602082028038833980820191505090505b509450600093505b88518410156107de57610788898581518110151561077857fe5b90602001906020020151896108c5565b858581518110151561079657fe5b90602001906020020181815250506001860195506107ca85858151811015156107bb57fe5b906020019060200201516103a0565b60ff1686019550838060010194505061075e565b856040519080825280601f01601f1916602001820160405280156108115781602001602082028038833980820191505090505b50925085915061082382600185610944565b600182039150610835828a5185610968565b602082039150600093505b88518410156108b657610869858581518110151561085a57fe5b906020019060200201516103a0565b9050610879828260ff1685610968565b6001820391506108a182868681518110151561089157fe5b9060200190602002015185610968565b8060ff16820391508380600101945050610840565b82965050505050505092915050565b60008060405180807f62616c616e63654f662861646472657373290000000000000000000000000000815250601201905060405180910390209050604051818152836004820152602081602483600089620249f0f180151561092657600093505b600081111561093457815193505b6020820160405250505092915050565b60008015158315151461095857600161095b565b60005b9050808483015250505050565b81838201525050505600a165627a7a723058202824abed7a9e8e7361c7c83b04b2d56654a72b16a38bbca4f93109605dd952870029", - "deployedBytecode": "0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063533c279a146100725780636b42bf2f146100b95780637bca388c1461013a578063c3fae3621461022a578063c489744b14610329575b600080fd5b34801561007e57600080fd5b5061009d600480360381019080803590602001909291905050506103a0565b604051808260ff1660ff16815260200191505060405180910390f35b3480156100c557600080fd5b50610124600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610418565b6040518082815260200191505060405180910390f35b34801561014657600080fd5b506101af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506104c4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ef5780820151818401526020810190506101d4565b50505050905090810190601f16801561021c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023657600080fd5b506102ae60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061070f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102ee5780820151818401526020810190506102d3565b50505050905090810190601f16801561031b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033557600080fd5b5061038a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108c5565b6040518082815260200191505060405180910390f35b600080600090505b6000831415156103ca5780806001019150506001839060020a900492506103a8565b600060088260ff168115156103db57fe5b0660ff1614156103fc5760088160ff168115156103f457fe5b049150610412565b600160088260ff1681151561040d57fe5b040191505b50919050565b60008060405180807f746f6b656e4f664f776e65724279496e64657828616464726573732c75696e7481526020017f323536290000000000000000000000000000000000000000000000000000000081525060240190506040518091039020905060405181815284600482015283602482015260208160448360008a620249f0f18015156104a557600093505b60008111156104b357815193505b602082016040525050509392505050565b606060008060006060600060606000808c6000813b905060008163ffffffff16111515610559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f74206120636f6e747261637400000000000000000000000000000000000081525060200191505060405180910390fd5b6021995060208a01995061056d8f8f6108c5565b98508b9750888c8e011115610582578c890397505b876040519080825280602002602001820160405280156105b15781602001602082028038833980820191505090505b509650600095505b87861015610624576105ce8f8f8f8901610418565b87878151811015156105dc57fe5b906020019060200201818152505060018a019950610610878781518110151561060157fe5b906020019060200201516103a0565b60ff168a01995085806001019650506105b9565b896040519080825280601f01601f1916602001820160405280156106575781602001602082028038833980820191505090505b50945089935061066984600187610944565b60018403935061067a848987610968565b602084039350600095505b878610156106fa576106ad878781518110151561069e57fe5b906020019060200201516103a0565b92506106bd848460ff1687610968565b6001840393506106e58488888151811015156106d557fe5b9060200190602002015187610968565b8260ff16840393508580600101965050610685565b849a5050505050505050505050949350505050565b606060006060600060606000806021955060208601955088516040519080825280602002602001820160405280156107565781602001602082028038833980820191505090505b509450600093505b88518410156107de57610788898581518110151561077857fe5b90602001906020020151896108c5565b858581518110151561079657fe5b90602001906020020181815250506001860195506107ca85858151811015156107bb57fe5b906020019060200201516103a0565b60ff1686019550838060010194505061075e565b856040519080825280601f01601f1916602001820160405280156108115781602001602082028038833980820191505090505b50925085915061082382600185610944565b600182039150610835828a5185610968565b602082039150600093505b88518410156108b657610869858581518110151561085a57fe5b906020019060200201516103a0565b9050610879828260ff1685610968565b6001820391506108a182868681518110151561089157fe5b9060200190602002015185610968565b8060ff16820391508380600101945050610840565b82965050505050505092915050565b60008060405180807f62616c616e63654f662861646472657373290000000000000000000000000000815250601201905060405180910390209050604051818152836004820152602081602483600089620249f0f180151561092657600093505b600081111561093457815193505b6020820160405250505092915050565b60008015158315151461095857600161095b565b60005b9050808483015250505050565b81838201525050505600a165627a7a723058202824abed7a9e8e7361c7c83b04b2d56654a72b16a38bbca4f93109605dd952870029", - "sourceMap": "95:5370:6:-;;;134:23;8:9:-1;5:2;;;30:1;27;20:12;5:2;134:23:6;95:5370;;;;;;", - "deployedSourceMap": "95:5370:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2745:269;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2745:269:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1487:1253;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1487:1253:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4143:1320;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4143:1320:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4143:1320:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3019:1119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3019:1119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3019:1119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;355:1127;;8:9:-1;5:2;;;30:1;27;20:12;5:2;355:1127:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2745:269;2799:5;2816:12;2831:1;2816:16;;2842:85;2858:1;2848:6;:11;;2842:85;;;2874:8;;;;;;;2915:1;2905:6;:11;;;;;2896:20;;2842:85;;;2953:1;2948;2939:6;:10;;;;;;;;;;:15;;;2936:71;;;2971:1;2964:6;:8;;;;;;;;;;2956:17;;;;2936:71;3006:1;3003;2996:6;:8;;;;;;;;;;2995:12;2988:19;;2745:269;;;;;:::o;1487:1253::-;1585:10;1607;1627:49;;;;;;;;;;;;;;;;;;;;;;;;1607:70;;1775:4;1769:11;1851:3;1847;1840:15;1940:5;1933:4;1929:3;1925:13;1918:28;2034:7;2027:4;2023:3;2019:13;2012:30;2403:4;2357:3;2309:4;2253:3;2210:1;2125:9;2090:6;2070:338;2461:6;2454:14;2451:2;;;2497:1;2488:10;;2451:2;2562:1;2554:6;2551:13;2548:2;;;2599:3;2593:10;2584:19;;2548:2;2682:4;2678:3;2674:13;2669:4;2662:26;1696:1038;;;;;;;;:::o;4143:1320::-;4284:5;4308:15;4417:17;4485:14;4624:25;4687:6;4928:19;4981:11;5212:14;4260:13;209:11;273:4;261:17;253:25;;312:1;305:4;:8;;;297:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4326:2;4308:20;;4381:2;4367:16;;;;4437:38;4453:13;4468:6;4437:15;:38::i;:::-;4417:58;;4502:5;4485:22;;4539:12;4531:5;4521:9;:15;4520:31;4517:98;;;4595:9;4580:12;:24;4567:37;;4517:98;4663:9;4652:21;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;4652:21:6;;;;4624:49;;4696:1;4687:10;;4683:236;4703:9;4699:1;:13;4683:236;;;4749:55;4769:13;4784:6;4794:9;4792:1;:11;4749:19;:55::i;:::-;4732:11;4744:1;4732:14;;;;;;;;;;;;;;;;;:72;;;;;4832:1;4818:15;;;;4881:27;4893:11;4905:1;4893:14;;;;;;;;;;;;;;;;;;4881:11;:27::i;:::-;4867:41;;;;;;4714:3;;;;;;;4683:236;;;4960:10;4950:21;;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;4950:21:6;;;;4928:43;;4995:10;4981:24;;5032:33;5044:6;5052:4;5058:6;5032:11;:33::i;:::-;5086:1;5076:11;;;;5097:38;5109:6;5117:9;5128:6;5097:11;:38::i;:::-;5156:2;5146:12;;;;5176:1;5172:5;;5168:266;5183:9;5179:1;:13;5168:266;;;5229:27;5241:11;5253:1;5241:14;;;;;;;;;;;;;;;;;;5229:11;:27::i;:::-;5212:44;;5270:37;5282:6;5290:8;5270:37;;5300:6;5270:11;:37::i;:::-;5332:1;5322:11;;;;5347:43;5359:6;5367:11;5379:1;5367:14;;;;;;;;;;;;;;;;;;5383:6;5347:11;:43::i;:::-;5415:8;5405:18;;;;;;5194:3;;;;;;;5168:266;;;5450:6;5443:13;;4143:1320;;;;;;;;;;;;;;;;:::o;3019:1119::-;3116:5;3140:15;3249:27;3327:6;3573:19;3626:11;3883:14;3158:2;3140:20;;3213:2;3199:16;;;;3290:15;:22;3279:34;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3279:34:6;;;;3249:64;;3336:1;3327:10;;3323:241;3343:15;:22;3339:1;:26;3323:241;;;3404:43;3420:15;3436:1;3420:18;;;;;;;;;;;;;;;;;;3440:6;3404:15;:43::i;:::-;3385:13;3399:1;3385:16;;;;;;;;;;;;;;;;;:62;;;;;3475:1;3461:15;;;;3524:29;3536:13;3550:1;3536:16;;;;;;;;;;;;;;;;;;3524:11;:29::i;:::-;3510:43;;;;;;3367:3;;;;;;;3323:241;;;3605:10;3595:21;;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3595:21:6;;;;3573:43;;3640:10;3626:24;;3677:33;3689:6;3697:4;3703:6;3677:11;:33::i;:::-;3731:1;3721:11;;;;3742:51;3754:6;3762:15;:22;3786:6;3742:11;:51::i;:::-;3814:2;3804:12;;;;3834:1;3830:5;;3826:283;3841:15;:22;3837:1;:26;3826:283;;;3900:29;3912:13;3926:1;3912:16;;;;;;;;;;;;;;;;;;3900:11;:29::i;:::-;3883:46;;3943:37;3955:6;3963:8;3943:37;;3973:6;3943:11;:37::i;:::-;4005:1;3995:11;;;;4020:45;4032:6;4040:13;4054:1;4040:16;;;;;;;;;;;;;;;;;;4058:6;4020:11;:45::i;:::-;4090:8;4080:18;;;;;;3865:3;;;;;;;3826:283;;;4125:6;4118:13;;3019:1119;;;;;;;;;;:::o;355:1127::-;434:8;454:10;474:31;;;;;;;;;;;;;;;;;;;454:52;;604:4;598:11;680:3;676;669:15;769:4;762;758:3;754:13;747:27;1135:4;1089:3;1041:4;985:3;942:1;857:9;822:6;802:338;1193:6;1186:14;1183:2;;;1227:1;1220:8;;1183:2;1306:1;1298:6;1295:13;1292:2;;;1341:3;1335:10;1328:17;;1292:2;1424:4;1420:3;1416:13;1411:4;1404:26;525:951;;;;;;;:::o;1420:206:4:-;1513:7;1533:5;1523:15;;:6;:15;;;:23;;1545:1;1523:23;;;1541:1;1523:23;1513:33;;1608:1;1599:6;1590:7;1586:20;1579:31;1565:55;;;;:::o;2401:169::-;2547:6;2538;2529:7;2525:20;2518:36;2504:60;;;:::o", - "source": "pragma solidity ^0.4.24;\nimport \"../Seriality/Seriality.sol\";\nimport \"./DummyERC721Token.sol\";\ncontract NFTBalances is Seriality{\n constructor() public {}\n modifier only_contract(address addr) {\n uint32 size;\n assembly {\n size := extcodesize(addr)\n }\n require(size > 0, \"Not a contract\");\n _;\n }\n function getTokenBalance(address tokenAddr, address addr) public view returns (uint bal) {\n bytes4 sig = bytes4(keccak256(\"balanceOf(address)\"));\n assembly {\n // move pointer to free memory spot\n let ptr := mload(0x40)\n // put function sig at memory spot\n mstore(ptr,sig)\n // append argument after function sig\n mstore(add(ptr,0x04), addr)\n\n let result := call(\n 150000, // gas limit\n tokenAddr, // to addr. append var to _slot to access storage variable\n 0, // not transfer any ether\n ptr, // Inputs are stored at location ptr\n 0x24, // Inputs are 36 bytes long\n ptr, //Store output over input\n 0x20) //Outputs are 32 bytes long\n\n if iszero(result) {\n bal := 0 // return 0 on error and 0 balance\n }\n if gt(result, 0) {\n bal := mload(ptr) // Assign output to answer var\n }\n mstore(0x40,add(ptr,0x20)) // Set storage pointer to new space\n }\n }\n function tokenOfOwnerByIndex(address tokenAddr, address owner, uint tokenId) public view returns (uint token) {\n bytes4 sig = bytes4(keccak256(\"tokenOfOwnerByIndex(address,uint256)\"));\n assembly {\n // move pointer to free memory spot\n let ptr := mload(0x40)\n // put function sig at memory spot\n mstore(ptr,sig)\n // append argument after function sig\n mstore(add(ptr,0x04), owner)\n // append argument after first parameter\n mstore(add(ptr,0x24), tokenId)\n\n let result := call(\n 150000, // gas limit\n tokenAddr, // to addr. append var to _slot to access storage variable\n 0, // not transfer any ether\n ptr, // Inputs are stored at location ptr\n 0x44, // Inputs are 36 bytes long\n ptr, //Store output over input\n 0x20) //Outputs are 32 bytes long\n\n if iszero(result) {\n token := 0 // return 0 on error\n }\n if gt(result, 0) {\n token := mload(ptr) // Assign output to answer var\n }\n mstore(0x40,add(ptr,0x20)) // Set storage pointer to new space\n }\n }\n function getByteSize(uint number) public view returns(uint8) {\n uint8 bitpos = 0;\n while(number != 0){\n bitpos++;\n number = number >> 1;\n }\n if(bitpos % 8 == 0) return (bitpos/8);\n else return (bitpos/8)+1;\n }\n function getTokenBalances(address[] memory _tokenAddresses, address _owner) public view returns (bytes memory) {\n uint bufferSize = 33; //define start + Data length\n bufferSize += 32; //to save the itemcount\n uint[] memory tokenBalances = new uint[](_tokenAddresses.length);\n for(uint i = 0; i < _tokenAddresses.length; i++){\n tokenBalances[i] = getTokenBalance(_tokenAddresses[i], _owner);\n bufferSize += 1; //save the bytesize\n bufferSize += getByteSize(tokenBalances[i]);\n }\n bytes memory result = new bytes(bufferSize);\n uint offset = bufferSize;\n \t//serialize\n boolToBytes(offset, true, result); \n offset -= 1;\n uintToBytes(offset, _tokenAddresses.length, result); \n offset -= 32;\n for(i = 0; i < _tokenAddresses.length; i++){\n uint8 numBytes = getByteSize(tokenBalances[i]);\n uintToBytes(offset, numBytes, result); \n offset -= 1;\n uintToBytes(offset, tokenBalances[i], result); \n offset -= numBytes;\n }\n return result;\n }\n function getOwnedTokens(address _tokenAddress, address _owner, uint idxOffset, uint count) public view only_contract(_tokenAddress) returns (bytes memory) {\n uint bufferSize = 33; //define start + Data length\n bufferSize += 32; //to save the itemcount\n uint tokenBalance = getTokenBalance(_tokenAddress, _owner);\n uint itemCount = count;\n if((idxOffset+count)> tokenBalance) {\n itemCount = tokenBalance - idxOffset;\n }\n uint[] memory ownedTokens = new uint[](itemCount);\n for(uint i = 0; i < itemCount; i++){\n ownedTokens[i] = tokenOfOwnerByIndex(_tokenAddress, _owner, i+idxOffset);\n bufferSize += 1; //save the bytesize\n bufferSize += getByteSize(ownedTokens[i]);\n }\n bytes memory result = new bytes(bufferSize);\n uint offset = bufferSize;\n \t//serialize\n boolToBytes(offset, true, result); \n offset -= 1;\n uintToBytes(offset, itemCount, result); \n offset -= 32;\n for(i = 0; i < itemCount; i++){\n uint8 numBytes = getByteSize(ownedTokens[i]);\n uintToBytes(offset, numBytes, result); \n offset -= 1;\n uintToBytes(offset, ownedTokens[i], result); \n offset -= numBytes;\n }\n return result;\n }\n}", + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getByteSize\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getTokenBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bal\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"token\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/NFTBalances.sol\":\"NFTBalances\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol\":{\"keccak256\":\"0x99a3de28e7cd28f161e692995a7bb566052015e663f69e503051ae125b91c490\",\"urls\":[\"bzz-raw://35391a26b38350ff720b2b990bbae6ee5d416021f57a525dc2eeaf5dced4317a\",\"dweb:/ipfs/QmakFie6vTvvSm34qktjXVDZaZMS3nBrpq4oyRz7JNBMef\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol\":{\"keccak256\":\"0xf773d46c715f6dd82fc4ba115b542c21ee6ebb26b32a52055d6032c9ed95fa74\",\"urls\":[\"bzz-raw://605cbfc900161d9343bff2eaae68423c3caeccc467f1e5f64a20d340367df7a5\",\"dweb:/ipfs/QmQ7AzFr3dFRCLcaLbJLxeJfAsMCh1oPnaFRyWP4e8xXfe\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol\":{\"keccak256\":\"0x50fdfb4ed7988490ff69c9a1af0da485eda3e7589bd77de12a357331f0c41dd7\",\"urls\":[\"bzz-raw://49a5d8316d0885442353a793cb12cf84979901ba909bc42f9699d3a1250ee1c1\",\"dweb:/ipfs/QmTGPtX86jCMFvuja8si8pGKSkasYHNtTKByqZq5cUeRcW\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol\":{\"keccak256\":\"0x444e6756306579f68ead7d74eae30a3d189f70346ddc6d57800fbea8069de37a\",\"urls\":[\"bzz-raw://b993cb5d7fc39c678a1d4333a6a6f6a373ba04527a0220ad32c8bf89dcf02968\",\"dweb:/ipfs/QmamvYKJ6FpwgvyR8uFNcqnQoHNpDMfrbRpamuV9WKEWrc\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/DummyERC721Token.sol\":{\"keccak256\":\"0xdf9cb80789fb2ca1ae5ad890225acdb23dd0590b66ea609064da28f6fbdfbdbd\",\"urls\":[\"bzz-raw://0661ed352fb1e2db748d0abe1249ae5567a127d5479652e1b95754ad3f154717\",\"dweb:/ipfs/QmP7NoqvM6ehi1bjXybKg2Bbf8SQaigQZ1Az1dCANQGvZF\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/NFTBalances.sol\":{\"keccak256\":\"0x4ffb66746cfcd4fa3e268fc36afa64e9b03a89bd5bd9aeea3440fcccdc252be7\",\"urls\":[\"bzz-raw://28ecc26331da825adcc3bd371055ce54cbe4fd1686445d44425b1fff79a6536e\",\"dweb:/ipfs/QmR7rqtNrvucckE8Q7kMfY53Yx2JjNPWBcX9RH76gSjDXq\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50610333806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063533c279a146100465780636b42bf2f1461008e578063c489744b14610110575b600080fd5b6100726004803603602081101561005c57600080fd5b8101908080359060200190929190505050610188565b604051808260ff1660ff16815260200191505060405180910390f35b6100fa600480360360608110156100a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101f5565b6040518082815260200191505060405180910390f35b6101726004803603604081101561012657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061025c565b6040518082815260200191505060405180910390f35b600080600090505b600083146101ac578080600101915050600183901c9250610190565b600060088260ff16816101bb57fe5b0660ff1614156101db5760088160ff16816101d257fe5b049150506101f0565b600160088260ff16816101ea57fe5b04019150505b919050565b60008060405180806102da6024913960240190506040518091039020905060405181815284600482015283602482015260208160448360008a620249f0f18061023d57600093505b600081111561024b57815193505b602082016040525050509392505050565b60008060405180807f62616c616e63654f662861646472657373290000000000000000000000000000815250601201905060405180910390209050604051818152836004820152602081602483600089620249f0f1806102bb57600093505b60008111156102c957815193505b602082016040525050509291505056fe746f6b656e4f664f776e65724279496e64657828616464726573732c75696e7432353629a2646970667358221220a852c8a28f4942d026fe8bf485fbfa4e0608fdedded5c479f291067feb14fad664736f6c63430006040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063533c279a146100465780636b42bf2f1461008e578063c489744b14610110575b600080fd5b6100726004803603602081101561005c57600080fd5b8101908080359060200190929190505050610188565b604051808260ff1660ff16815260200191505060405180910390f35b6100fa600480360360608110156100a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101f5565b6040518082815260200191505060405180910390f35b6101726004803603604081101561012657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061025c565b6040518082815260200191505060405180910390f35b600080600090505b600083146101ac578080600101915050600183901c9250610190565b600060088260ff16816101bb57fe5b0660ff1614156101db5760088160ff16816101d257fe5b049150506101f0565b600160088260ff16816101ea57fe5b04019150505b919050565b60008060405180806102da6024913960240190506040518091039020905060405181815284600482015283602482015260208160448360008a620249f0f18061023d57600093505b600081111561024b57815193505b602082016040525050509392505050565b60008060405180807f62616c616e63654f662861646472657373290000000000000000000000000000815250601201905060405180910390209050604051818152836004820152602081602483600089620249f0f1806102bb57600093505b60008111156102c957815193505b602082016040525050509291505056fe746f6b656e4f664f776e65724279496e64657828616464726573732c75696e7432353629a2646970667358221220a852c8a28f4942d026fe8bf485fbfa4e0608fdedded5c479f291067feb14fad664736f6c63430006040033", + "sourceMap": "96:5871:6:-:0;;;136:23;5:9:-1;2:2;;;27:1;24;17:12;2:2;136:23:6;96:5871;;;;;;", + "deployedSourceMap": "96:5871:6:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;96:5871:6;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2847:282:6;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2847:282:6;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1533:1308;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1533:1308:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;359:1168;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;359:1168:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2847:282;2905:5;2922:12;2937:1;2922:16;;2948:87;2965:1;2955:6;:11;2948:87;;2982:8;;;;;;;3023:1;3013:6;:11;;3004:20;;2948:87;;;3062:1;3057;3048:6;:10;;;;;;;;:15;;;3044:78;;;3082:1;3073:6;:10;;;;;;;;3065:19;;;;;3044:78;3121:1;3116;3107:6;:10;;;;;;;;3106:16;3099:23;;;2847:282;;;;:::o;1533:1308::-;1659:13;1684:10;1704:49;;;;;;;;;;;;;;;;;;;1684:70;;1852:4;1846:11;1929:3;1924;1917:16;2019:5;2012:4;2007:3;2003:14;1996:29;2114:7;2107:4;2102:3;2098:14;2091:31;2495:4;2448:3;2398:4;2340:3;2295:1;2209:9;2172:6;2150:363;2565:6;2555:2;;2600:1;2591:10;;2555:2;2663:1;2655:6;2652:13;2649:2;;;2699:3;2693:10;2684:19;;2649:2;2783:4;2778:3;2774:14;2768:4;2761:28;1773:1062;;;;;;;;:::o;359:1168::-;449:11;476:10;496:31;;;;;;;;;;;;;;;;;;;476:52;;626:4;620:11;703:3;698;691:16;793:4;786;781:3;777:14;770:28;1171:4;1124:3;1074:4;1016:3;971:1;885:9;848:6;826:363;1241:6;1231:2;;1274:1;1267:8;;1231:2;1351:1;1343:6;1340:13;1337:2;;;1385:3;1379:10;1372:17;;1337:2;1469:4;1464:3;1460:14;1454:4;1447:28;547:974;;;;;;;:::o", + "source": "pragma solidity ^0.6.4;\nimport \"../Seriality/Seriality.sol\";\nimport \"./DummyERC721Token.sol\";\n\n\ncontract NFTBalances is Seriality {\n constructor() public {}\n\n modifier only_contract(address addr) {\n uint32 size;\n assembly {\n size := extcodesize(addr)\n }\n require(size > 0, \"Not a contract\");\n _;\n }\n\n function getTokenBalance(address tokenAddr, address addr)\n public\n returns (uint256 bal)\n {\n bytes4 sig = bytes4(keccak256(\"balanceOf(address)\"));\n assembly {\n // move pointer to free memory spot\n let ptr := mload(0x40)\n // put function sig at memory spot\n mstore(ptr, sig)\n // append argument after function sig\n mstore(add(ptr, 0x04), addr)\n\n let result := call(\n 150000, // gas limit\n tokenAddr, // to addr. append var to _slot to access storage variable\n 0, // not transfer any ether\n ptr, // Inputs are stored at location ptr\n 0x24, // Inputs are 36 bytes long\n ptr, //Store output over input\n 0x20\n ) //Outputs are 32 bytes long\n\n if iszero(result) {\n bal := 0 // return 0 on error and 0 balance\n }\n if gt(result, 0) {\n bal := mload(ptr) // Assign output to answer var\n }\n mstore(0x40, add(ptr, 0x20)) // Set storage pointer to new space\n }\n }\n\n function tokenOfOwnerByIndex(\n address tokenAddr,\n address owner,\n uint256 tokenId\n ) public returns (uint256 token) {\n bytes4 sig = bytes4(keccak256(\"tokenOfOwnerByIndex(address,uint256)\"));\n assembly {\n // move pointer to free memory spot\n let ptr := mload(0x40)\n // put function sig at memory spot\n mstore(ptr, sig)\n // append argument after function sig\n mstore(add(ptr, 0x04), owner)\n // append argument after first parameter\n mstore(add(ptr, 0x24), tokenId)\n\n let result := call(\n 150000, // gas limit\n tokenAddr, // to addr. append var to _slot to access storage variable\n 0, // not transfer any ether\n ptr, // Inputs are stored at location ptr\n 0x44, // Inputs are 36 bytes long\n ptr, //Store output over input\n 0x20\n ) //Outputs are 32 bytes long\n\n if iszero(result) {\n token := 0 // return 0 on error\n }\n if gt(result, 0) {\n token := mload(ptr) // Assign output to answer var\n }\n mstore(0x40, add(ptr, 0x20)) // Set storage pointer to new space\n }\n }\n\n function getByteSize(uint256 number) public pure returns (uint8) {\n uint8 bitpos = 0;\n while (number != 0) {\n bitpos++;\n number = number >> 1;\n }\n if (bitpos % 8 == 0) return (bitpos / 8);\n else return (bitpos / 8) + 1;\n }\n\n // function getTokenBalances(address[] memory _tokenAddresses, address _owner)\n // public\n // view\n // returns (bytes memory)\n // {\n // uint256 bufferSize = 33; //define start + Data length\n // bufferSize += 32; //to save the itemcount\n // uint256[] memory tokenBalances = new uint256[](_tokenAddresses.length);\n // for (uint256 i = 0; i < _tokenAddresses.length; i++) {\n // tokenBalances[i] = getTokenBalance(_tokenAddresses[i], _owner);\n // bufferSize += 1; //save the bytesize\n // bufferSize += getByteSize(tokenBalances[i]);\n // }\n // bytes memory result = new bytes(bufferSize);\n // uint256 offset = bufferSize;\n // //serialize\n // boolToBytes(offset, true, result);\n // offset -= 1;\n // uintToBytes(offset, _tokenAddresses.length, result);\n // offset -= 32;\n // for (i = 0; i < _tokenAddresses.length; i++) {\n // uint8 numBytes = getByteSize(tokenBalances[i]);\n // uintToBytes(offset, numBytes, result);\n // offset -= 1;\n // uintToBytes(offset, tokenBalances[i], result);\n // offset -= numBytes;\n // }\n // return result;\n // }\n\n // function getOwnedTokens(\n // address _tokenAddress,\n // address _owner,\n // uint256 idxOffset,\n // uint256 count\n // ) public view only_contract(_tokenAddress) returns (bytes memory) {\n // uint256 bufferSize = 33; //define start + Data length\n // bufferSize += 32; //to save the itemcount\n // uint256 tokenBalance = getTokenBalance(_tokenAddress, _owner);\n // uint256 itemCount = count;\n // if ((idxOffset + count) > tokenBalance) {\n // itemCount = tokenBalance - idxOffset;\n // }\n // uint256[] memory ownedTokens = new uint256[](itemCount);\n // for (uint256 i = 0; i < itemCount; i++) {\n // ownedTokens[i] = tokenOfOwnerByIndex(\n // _tokenAddress,\n // _owner,\n // i + idxOffset\n // );\n // bufferSize += 1; //save the bytesize\n // bufferSize += getByteSize(ownedTokens[i]);\n // }\n // bytes memory result = new bytes(bufferSize);\n // uint256 offset = bufferSize;\n // //serialize\n // boolToBytes(offset, true, result);\n // offset -= 1;\n // uintToBytes(offset, itemCount, result);\n // offset -= 32;\n // for (i = 0; i < itemCount; i++) {\n // uint8 numBytes = getByteSize(ownedTokens[i]);\n // uintToBytes(offset, numBytes, result);\n // offset -= 1;\n // uintToBytes(offset, ownedTokens[i], result);\n // offset -= numBytes;\n // }\n // return result;\n // }\n}\n", "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/NFTBalances.sol", "ast": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/NFTBalances.sol", "exportedSymbols": { "NFTBalances": [ - 1591 + 1265 ] }, - "id": 1592, + "id": 1266, "nodeType": "SourceUnit", "nodes": [ { - "id": 1167, + "id": 1153, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:6" + "src": "0:23:6" }, { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol", "file": "../Seriality/Seriality.sol", - "id": 1168, + "id": 1154, "nodeType": "ImportDirective", - "scope": 1592, - "sourceUnit": 853, - "src": "25:36:6", + "scope": 1266, + "sourceUnit": 854, + "src": "24:36:6", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/DummyERC721Token.sol", "file": "./DummyERC721Token.sol", - "id": 1169, + "id": 1155, "nodeType": "ImportDirective", - "scope": 1592, - "sourceUnit": 1166, - "src": "62:32:6", + "scope": 1266, + "sourceUnit": 1152, + "src": "61:32:6", "symbolAliases": [], "unitAlias": "" }, { + "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, - "id": 1170, + "id": 1156, "name": "Seriality", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 852, - "src": "119:9:6", + "referencedDeclaration": 853, + "src": "120:9:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_Seriality_$852", + "typeIdentifier": "t_contract$_Seriality_$853", "typeString": "contract Seriality" } }, - "id": 1171, + "id": 1157, "nodeType": "InheritanceSpecifier", - "src": "119:9:6" + "src": "120:9:6" } ], "contractDependencies": [ - 836, - 852, - 928, - 1049 + 837, + 853, + 932, + 1032 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1591, + "id": 1265, "linearizedBaseContracts": [ - 1591, - 852, - 928, - 1049, - 836 + 1265, + 853, + 932, + 1032, + 837 ], "name": "NFTBalances", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1174, + "id": 1160, "nodeType": "Block", - "src": "155:2:6", + "src": "157:2:6", "statements": [] }, "documentation": null, - "id": 1175, + "id": 1161, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1172, + "id": 1158, "nodeType": "ParameterList", "parameters": [], - "src": "145:2:6" + "src": "147:2:6" }, - "payable": false, "returnParameters": { - "id": 1173, + "id": 1159, "nodeType": "ParameterList", "parameters": [], - "src": "155:0:6" + "src": "157:0:6" }, - "scope": 1591, - "src": "134:23:6", + "scope": 1265, + "src": "136:23:6", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1191, + "id": 1177, "nodeType": "Block", - "src": "199:151:6", + "src": "202:151:6", "statements": [ { - "assignments": [], + "assignments": [ + 1166 + ], "declarations": [ { "constant": false, - "id": 1180, + "id": 1166, "name": "size", "nodeType": "VariableDeclaration", - "scope": 1192, - "src": "209:11:6", + "overrides": null, + "scope": 1177, + "src": "212:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -279,10 +230,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1179, + "id": 1165, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "209:6:6", + "src": "212:6:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -292,36 +243,65 @@ "visibility": "internal" } ], - "id": 1181, + "id": 1167, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "209:11:6" + "src": "212:11:6" }, { + "AST": { + "nodeType": "YulBlock", + "src": "242:49:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "256:25:6", + "value": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "276:4:6" + } + ], + "functionName": { + "name": "extcodesize", + "nodeType": "YulIdentifier", + "src": "264:11:6" + }, + "nodeType": "YulFunctionCall", + "src": "264:17:6" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "256:4:6" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "size": { - "declaration": 1180, - "isOffset": false, - "isSlot": false, - "src": "253:4:6", - "valueSize": 1 - } + "declaration": 1163, + "isOffset": false, + "isSlot": false, + "src": "276:4:6", + "valueSize": 1 }, { - "addr": { - "declaration": 1177, - "isOffset": false, - "isSlot": false, - "src": "273:4:6", - "valueSize": 1 - } + "declaration": 1166, + "isOffset": false, + "isSlot": false, + "src": "256:4:6", + "valueSize": 1 } ], - "id": 1182, + "id": 1168, "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(addr)\n}", - "src": "230:74:6" + "src": "233:58:6" }, { "expression": { @@ -333,19 +313,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1186, + "id": 1172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1184, + "id": 1170, "name": "size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "305:4:6", + "referencedDeclaration": 1166, + "src": "308:4:6", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -356,14 +336,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1185, + "id": 1171, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "312:1:6", + "src": "315:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -371,7 +351,7 @@ }, "value": "0" }, - "src": "305:8:6", + "src": "308:8:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -380,14 +360,14 @@ { "argumentTypes": null, "hexValue": "4e6f74206120636f6e7472616374", - "id": 1187, + "id": 1173, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "315:16:6", + "src": "318:16:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a7125e02b15b9624893e22fc887adf7b442cd1c1f4fc92da8a28be0486c1faa3", @@ -407,21 +387,21 @@ "typeString": "literal_string \"Not a contract\"" } ], - "id": 1183, + "id": 1169, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2582, - 2583 + -18, + -18 ], - "referencedDeclaration": 2583, - "src": "297:7:6", + "referencedDeclaration": -18, + "src": "300:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1188, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": false, @@ -429,38 +409,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "297:35:6", + "src": "300:35:6", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1189, + "id": 1175, "nodeType": "ExpressionStatement", - "src": "297:35:6" + "src": "300:35:6" }, { - "id": 1190, + "id": 1176, "nodeType": "PlaceholderStatement", - "src": "342:1:6" + "src": "345:1:6" } ] }, "documentation": null, - "id": 1192, + "id": 1178, "name": "only_contract", "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { - "id": 1178, + "id": 1164, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1177, + "id": 1163, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1192, - "src": "185:12:6", + "overrides": null, + "scope": 1178, + "src": "188:12:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -468,10 +451,11 @@ "typeString": "address" }, "typeName": { - "id": 1176, + "id": 1162, "name": "address", "nodeType": "ElementaryTypeName", - "src": "185:7:6", + "src": "188:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -481,29 +465,31 @@ "visibility": "internal" } ], - "src": "184:14:6" + "src": "187:14:6" }, - "src": "162:188:6", + "src": "165:188:6", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1210, + "id": 1197, "nodeType": "Block", - "src": "444:1038:6", + "src": "466:1061:6", "statements": [ { "assignments": [ - 1202 + 1188 ], "declarations": [ { "constant": false, - "id": 1202, + "id": 1188, "name": "sig", "nodeType": "VariableDeclaration", - "scope": 1211, - "src": "454:10:6", + "overrides": null, + "scope": 1197, + "src": "476:10:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -511,10 +497,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 1201, + "id": 1187, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "454:6:6", + "src": "476:6:6", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -524,7 +510,7 @@ "visibility": "internal" } ], - "id": 1208, + "id": 1195, "initialValue": { "argumentTypes": null, "arguments": [ @@ -534,14 +520,14 @@ { "argumentTypes": null, "hexValue": "62616c616e63654f66286164647265737329", - "id": 1205, + "id": 1192, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "484:20:6", + "src": "506:20:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", @@ -557,18 +543,18 @@ "typeString": "literal_string \"balanceOf(address)\"" } ], - "id": 1204, + "id": 1191, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "474:9:6", + "referencedDeclaration": -8, + "src": "496:9:6", "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 1206, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": true, @@ -576,7 +562,8 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "474:31:6", + "src": "496:31:6", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -590,20 +577,29 @@ "typeString": "bytes32" } ], - "id": 1203, + "id": 1190, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "467:6:6", + "src": "489:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes4_$", "typeString": "type(bytes4)" }, - "typeName": "bytes4" + "typeName": { + "id": 1189, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "489:6:6", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } }, - "id": 1207, + "id": 1194, "isConstant": false, "isLValue": false, "isPure": true, @@ -611,89 +607,401 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "467:39:6", + "src": "489:39:6", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "VariableDeclarationStatement", - "src": "454:52:6" + "src": "476:52:6" }, { + "AST": { + "nodeType": "YulBlock", + "src": "547:974:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "609:22:6", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "626:4:6", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "620:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "620:11:6" + }, + "variables": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "613:3:6", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "698:3:6" + }, + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "703:3:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "691:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "691:16:6" + }, + "nodeType": "YulExpressionStatement", + "src": "691:16:6" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "781:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "786:4:6", + "type": "", + "value": "0x04" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "777:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "777:14:6" + }, + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "793:4:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "770:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "770:28:6" + }, + "nodeType": "YulExpressionStatement", + "src": "770:28:6" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "812:377:6", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "848:6:6", + "type": "", + "value": "150000" + }, + { + "name": "tokenAddr", + "nodeType": "YulIdentifier", + "src": "885:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "971:1:6", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1016:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1074:4:6", + "type": "", + "value": "0x24" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1124:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1171:4:6", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "826:4:6" + }, + "nodeType": "YulFunctionCall", + "src": "826:363:6" + }, + "variables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "816:6:6", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1249:75:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1267:8:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1274:1:6", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "bal", + "nodeType": "YulIdentifier", + "src": "1267:3:6" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1241:6:6" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1234:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1234:14:6" + }, + "nodeType": "YulIf", + "src": "1231:2:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1354:80:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1372:17:6", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1385:3:6" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1379:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "1379:10:6" + }, + "variableNames": [ + { + "name": "bal", + "nodeType": "YulIdentifier", + "src": "1372:3:6" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1343:6:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1351:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1340:2:6" + }, + "nodeType": "YulFunctionCall", + "src": "1340:13:6" + }, + "nodeType": "YulIf", + "src": "1337:2:6" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1454:4:6", + "type": "", + "value": "0x40" + }, + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1464:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1469:4:6", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1460:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1460:14:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1447:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1447:28:6" + }, + "nodeType": "YulExpressionStatement", + "src": "1447:28:6" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "sig": { - "declaration": 1202, - "isOffset": false, - "isSlot": false, - "src": "680:3:6", - "valueSize": 1 - } + "declaration": 1182, + "isOffset": false, + "isSlot": false, + "src": "793:4:6", + "valueSize": 1 }, { - "bal": { - "declaration": 1199, - "isOffset": false, - "isSlot": false, - "src": "1220:3:6", - "valueSize": 1 - } + "declaration": 1185, + "isOffset": false, + "isSlot": false, + "src": "1267:3:6", + "valueSize": 1 }, { - "addr": { - "declaration": 1196, - "isOffset": false, - "isSlot": false, - "src": "769:4:6", - "valueSize": 1 - } + "declaration": 1185, + "isOffset": false, + "isSlot": false, + "src": "1372:3:6", + "valueSize": 1 }, { - "bal": { - "declaration": 1199, - "isOffset": false, - "isSlot": false, - "src": "1328:3:6", - "valueSize": 1 - } + "declaration": 1188, + "isOffset": false, + "isSlot": false, + "src": "703:3:6", + "valueSize": 1 }, { - "tokenAddr": { - "declaration": 1194, - "isOffset": false, - "isSlot": false, - "src": "857:9:6", - "valueSize": 1 - } + "declaration": 1180, + "isOffset": false, + "isSlot": false, + "src": "885:9:6", + "valueSize": 1 } ], - "id": 1209, + "id": 1196, "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n mstore(ptr, sig)\n mstore(add(ptr, 0x04), addr)\n let result := call(150000, tokenAddr, 0, ptr, 0x24, ptr, 0x20)\n if iszero(result)\n {\n bal := 0\n }\n if gt(result, 0)\n {\n bal := mload(ptr)\n }\n mstore(0x40, add(ptr, 0x20))\n}", - "src": "516:966:6" + "src": "538:983:6" } ] }, "documentation": null, - "id": 1211, + "functionSelector": "c489744b", + "id": 1198, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getTokenBalance", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1197, + "id": 1183, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1194, + "id": 1180, "name": "tokenAddr", "nodeType": "VariableDeclaration", - "scope": 1211, - "src": "380:17:6", + "overrides": null, + "scope": 1198, + "src": "384:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -701,10 +1009,11 @@ "typeString": "address" }, "typeName": { - "id": 1193, + "id": 1179, "name": "address", "nodeType": "ElementaryTypeName", - "src": "380:7:6", + "src": "384:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -715,11 +1024,12 @@ }, { "constant": false, - "id": 1196, + "id": 1182, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1211, - "src": "399:12:6", + "overrides": null, + "scope": 1198, + "src": "403:12:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -727,10 +1037,11 @@ "typeString": "address" }, "typeName": { - "id": 1195, + "id": 1181, "name": "address", "nodeType": "ElementaryTypeName", - "src": "399:7:6", + "src": "403:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -740,20 +1051,20 @@ "visibility": "internal" } ], - "src": "379:33:6" + "src": "383:33:6" }, - "payable": false, "returnParameters": { - "id": 1200, + "id": 1186, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1199, + "id": 1185, "name": "bal", "nodeType": "VariableDeclaration", - "scope": 1211, - "src": "434:8:6", + "overrides": null, + "scope": 1198, + "src": "449:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -761,10 +1072,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1198, - "name": "uint", + "id": 1184, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "434:4:6", + "src": "449:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -774,32 +1085,33 @@ "visibility": "internal" } ], - "src": "433:10:6" + "src": "448:13:6" }, - "scope": 1591, - "src": "355:1127:6", - "stateMutability": "view", - "superFunction": null, + "scope": 1265, + "src": "359:1168:6", + "stateMutability": "nonpayable", + "virtual": false, "visibility": "public" }, { "body": { - "id": 1231, + "id": 1219, "nodeType": "Block", - "src": "1597:1143:6", + "src": "1674:1167:6", "statements": [ { "assignments": [ - 1223 + 1210 ], "declarations": [ { "constant": false, - "id": 1223, + "id": 1210, "name": "sig", "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1607:10:6", + "overrides": null, + "scope": 1219, + "src": "1684:10:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -807,10 +1119,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 1222, + "id": 1209, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "1607:6:6", + "src": "1684:6:6", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -820,7 +1132,7 @@ "visibility": "internal" } ], - "id": 1229, + "id": 1217, "initialValue": { "argumentTypes": null, "arguments": [ @@ -830,14 +1142,14 @@ { "argumentTypes": null, "hexValue": "746f6b656e4f664f776e65724279496e64657828616464726573732c75696e7432353629", - "id": 1226, + "id": 1214, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1637:38:6", + "src": "1714:38:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", @@ -853,18 +1165,18 @@ "typeString": "literal_string \"tokenOfOwnerByIndex(address,uint256)\"" } ], - "id": 1225, + "id": 1213, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "1627:9:6", + "referencedDeclaration": -8, + "src": "1704:9:6", "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 1227, + "id": 1215, "isConstant": false, "isLValue": false, "isPure": true, @@ -872,7 +1184,8 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1627:49:6", + "src": "1704:49:6", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -886,20 +1199,29 @@ "typeString": "bytes32" } ], - "id": 1224, + "id": 1212, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1620:6:6", + "src": "1697:6:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes4_$", "typeString": "type(bytes4)" }, - "typeName": "bytes4" + "typeName": { + "id": 1211, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1697:6:6", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } }, - "id": 1228, + "id": 1216, "isConstant": false, "isLValue": false, "isPure": true, @@ -907,124 +1229,479 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1620:57:6", + "src": "1697:57:6", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "VariableDeclarationStatement", - "src": "1607:70:6" + "src": "1684:70:6" }, { - "externalReferences": [ - { - "token": { - "declaration": 1220, - "isOffset": false, - "isSlot": false, - "src": "2488:5:6", - "valueSize": 1 - } - }, - { - "sig": { - "declaration": 1223, - "isOffset": false, - "isSlot": false, - "src": "1851:3:6", - "valueSize": 1 - } - }, - { - "tokenId": { - "declaration": 1217, - "isOffset": false, - "isSlot": false, - "src": "2034:7:6", - "valueSize": 1 - } - }, - { - "owner": { - "declaration": 1215, - "isOffset": false, - "isSlot": false, - "src": "1940:5:6", - "valueSize": 1 - } - }, - { - "token": { - "declaration": 1220, - "isOffset": false, - "isSlot": false, - "src": "2584:5:6", - "valueSize": 1 - } - }, - { - "tokenAddr": { - "declaration": 1213, - "isOffset": false, - "isSlot": false, - "src": "2125:9:6", - "valueSize": 1 - } - } - ], - "id": 1230, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n mstore(ptr, sig)\n mstore(add(ptr, 0x04), owner)\n mstore(add(ptr, 0x24), tokenId)\n let result := call(150000, tokenAddr, 0, ptr, 0x44, ptr, 0x20)\n if iszero(result)\n {\n token := 0\n }\n if gt(result, 0)\n {\n token := mload(ptr)\n }\n mstore(0x40, add(ptr, 0x20))\n}", - "src": "1687:1053:6" - } - ] - }, - "documentation": null, - "id": 1232, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1213, - "name": "tokenAddr", - "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1516:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1516:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "AST": { + "nodeType": "YulBlock", + "src": "1773:1062:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1835:22:6", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1852:4:6", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1846:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "1846:11:6" + }, + "variables": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "1839:3:6", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1924:3:6" + }, + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "1929:3:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1917:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1917:16:6" + }, + "nodeType": "YulExpressionStatement", + "src": "1917:16:6" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2007:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2012:4:6", + "type": "", + "value": "0x04" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2003:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2003:14:6" + }, + { + "name": "owner", + "nodeType": "YulIdentifier", + "src": "2019:5:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1996:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1996:29:6" + }, + "nodeType": "YulExpressionStatement", + "src": "1996:29:6" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2102:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2107:4:6", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2098:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2098:14:6" + }, + { + "name": "tokenId", + "nodeType": "YulIdentifier", + "src": "2114:7:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2091:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "2091:31:6" + }, + "nodeType": "YulExpressionStatement", + "src": "2091:31:6" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2136:377:6", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2172:6:6", + "type": "", + "value": "150000" + }, + { + "name": "tokenAddr", + "nodeType": "YulIdentifier", + "src": "2209:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2295:1:6", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2340:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2398:4:6", + "type": "", + "value": "0x44" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2448:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2495:4:6", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "2150:4:6" + }, + "nodeType": "YulFunctionCall", + "src": "2150:363:6" + }, + "variables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2140:6:6", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2573:63:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2591:10:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2600:1:6", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "2591:5:6" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2565:6:6" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2558:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "2558:14:6" + }, + "nodeType": "YulIf", + "src": "2555:2:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2666:82:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2684:19:6", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2699:3:6" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2693:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "2693:10:6" + }, + "variableNames": [ + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "2684:5:6" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2655:6:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2663:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2652:2:6" + }, + "nodeType": "YulFunctionCall", + "src": "2652:13:6" + }, + "nodeType": "YulIf", + "src": "2649:2:6" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2768:4:6", + "type": "", + "value": "0x40" + }, + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2778:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2783:4:6", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2774:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2774:14:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2761:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "2761:28:6" + }, + "nodeType": "YulExpressionStatement", + "src": "2761:28:6" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1202, + "isOffset": false, + "isSlot": false, + "src": "2019:5:6", + "valueSize": 1 + }, + { + "declaration": 1210, + "isOffset": false, + "isSlot": false, + "src": "1929:3:6", + "valueSize": 1 + }, + { + "declaration": 1207, + "isOffset": false, + "isSlot": false, + "src": "2591:5:6", + "valueSize": 1 + }, + { + "declaration": 1207, + "isOffset": false, + "isSlot": false, + "src": "2684:5:6", + "valueSize": 1 + }, + { + "declaration": 1200, + "isOffset": false, + "isSlot": false, + "src": "2209:9:6", + "valueSize": 1 + }, + { + "declaration": 1204, + "isOffset": false, + "isSlot": false, + "src": "2114:7:6", + "valueSize": 1 + } + ], + "id": 1218, + "nodeType": "InlineAssembly", + "src": "1764:1071:6" + } + ] + }, + "documentation": null, + "functionSelector": "6b42bf2f", + "id": 1220, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenOfOwnerByIndex", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1205, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1200, + "name": "tokenAddr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1220, + "src": "1571:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1571:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, "value": null, "visibility": "internal" }, { "constant": false, - "id": 1215, + "id": 1202, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1535:13:6", + "overrides": null, + "scope": 1220, + "src": "1598:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1032,10 +1709,11 @@ "typeString": "address" }, "typeName": { - "id": 1214, + "id": 1201, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1535:7:6", + "src": "1598:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1046,11 +1724,12 @@ }, { "constant": false, - "id": 1217, + "id": 1204, "name": "tokenId", "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1550:12:6", + "overrides": null, + "scope": 1220, + "src": "1621:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1058,10 +1737,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1216, - "name": "uint", + "id": 1203, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1550:4:6", + "src": "1621:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1071,20 +1750,20 @@ "visibility": "internal" } ], - "src": "1515:48:6" + "src": "1561:81:6" }, - "payable": false, "returnParameters": { - "id": 1221, + "id": 1208, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1220, + "id": 1207, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1585:10:6", + "overrides": null, + "scope": 1220, + "src": "1659:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1092,10 +1771,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1219, - "name": "uint", + "id": 1206, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1585:4:6", + "src": "1659:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1105,32 +1784,33 @@ "visibility": "internal" } ], - "src": "1584:12:6" + "src": "1658:15:6" }, - "scope": 1591, - "src": "1487:1253:6", - "stateMutability": "view", - "superFunction": null, + "scope": 1265, + "src": "1533:1308:6", + "stateMutability": "nonpayable", + "virtual": false, "visibility": "public" }, { "body": { - "id": 1275, + "id": 1263, "nodeType": "Block", - "src": "2806:208:6", + "src": "2912:217:6", "statements": [ { "assignments": [ - 1240 + 1228 ], "declarations": [ { "constant": false, - "id": 1240, + "id": 1228, "name": "bitpos", "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "2816:12:6", + "overrides": null, + "scope": 1263, + "src": "2922:12:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1138,10 +1818,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1239, + "id": 1227, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2816:5:6", + "src": "2922:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1151,18 +1831,18 @@ "visibility": "internal" } ], - "id": 1242, + "id": 1230, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1241, + "id": 1229, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2831:1:6", + "src": "2937:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1171,18 +1851,18 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "2816:16:6" + "src": "2922:16:6" }, { "body": { - "id": 1255, + "id": 1243, "nodeType": "Block", - "src": "2860:67:6", + "src": "2968:67:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 1247, + "id": 1235, "isConstant": false, "isLValue": false, "isPure": false, @@ -1190,15 +1870,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2874:8:6", + "src": "2982:8:6", "subExpression": { "argumentTypes": null, - "id": 1246, + "id": 1234, "name": "bitpos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "2874:6:6", + "referencedDeclaration": 1228, + "src": "2982:6:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1209,26 +1889,26 @@ "typeString": "uint8" } }, - "id": 1248, + "id": 1236, "nodeType": "ExpressionStatement", - "src": "2874:8:6" + "src": "2982:8:6" }, { "expression": { "argumentTypes": null, - "id": 1253, + "id": 1241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1249, + "id": 1237, "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1234, - "src": "2896:6:6", + "referencedDeclaration": 1222, + "src": "3004:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1242,19 +1922,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1252, + "id": 1240, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1250, + "id": 1238, "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1234, - "src": "2905:6:6", + "referencedDeclaration": 1222, + "src": "3013:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1265,14 +1945,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1251, + "id": 1239, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2915:1:6", + "src": "3023:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -1280,21 +1960,21 @@ }, "value": "1" }, - "src": "2905:11:6", + "src": "3013:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2896:20:6", + "src": "3004:20:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1254, + "id": 1242, "nodeType": "ExpressionStatement", - "src": "2896:20:6" + "src": "3004:20:6" } ] }, @@ -1304,19 +1984,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1245, + "id": 1233, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1243, + "id": 1231, "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1234, - "src": "2848:6:6", + "referencedDeclaration": 1222, + "src": "2955:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1327,14 +2007,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1244, + "id": 1232, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2858:1:6", + "src": "2965:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1342,15 +2022,15 @@ }, "value": "0" }, - "src": "2848:11:6", + "src": "2955:11:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1256, + "id": 1244, "nodeType": "WhileStatement", - "src": "2842:85:6" + "src": "2948:87:6" }, { "condition": { @@ -1359,7 +2039,7 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1261, + "id": 1249, "isConstant": false, "isLValue": false, "isPure": false, @@ -1370,19 +2050,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1259, + "id": 1247, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1257, + "id": 1245, "name": "bitpos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "2939:6:6", + "referencedDeclaration": 1228, + "src": "3048:6:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1393,14 +2073,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 1258, + "id": 1246, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2948:1:6", + "src": "3057:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", @@ -1408,7 +2088,7 @@ }, "value": "8" }, - "src": "2939:10:6", + "src": "3048:10:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1419,14 +2099,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1260, + "id": 1248, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2953:1:6", + "src": "3062:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1434,7 +2114,7 @@ }, "value": "0" }, - "src": "2939:15:6", + "src": "3048:15:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1447,7 +2127,7 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1272, + "id": 1260, "isConstant": false, "isLValue": false, "isPure": false, @@ -1461,19 +2141,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1269, + "id": 1257, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1267, + "id": 1255, "name": "bitpos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "2996:6:6", + "referencedDeclaration": 1228, + "src": "3107:6:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1484,14 +2164,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 1268, + "id": 1256, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3003:1:6", + "src": "3116:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", @@ -1499,21 +2179,21 @@ }, "value": "8" }, - "src": "2996:8:6", + "src": "3107:10:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], - "id": 1270, + "id": 1258, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2995:10:6", + "src": "3106:12:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1524,14 +2204,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1271, + "id": 1259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3006:1:6", + "src": "3121:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -1539,20 +2219,20 @@ }, "value": "1" }, - "src": "2995:12:6", + "src": "3106:16:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 1238, - "id": 1273, + "functionReturnParameters": 1226, + "id": 1261, "nodeType": "Return", - "src": "2988:19:6" + "src": "3099:23:6" }, - "id": 1274, + "id": 1262, "nodeType": "IfStatement", - "src": "2936:71:6", + "src": "3044:78:6", "trueBody": { "expression": { "argumentTypes": null, @@ -1563,19 +2243,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1264, + "id": 1252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1262, + "id": 1250, "name": "bitpos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "2964:6:6", + "referencedDeclaration": 1228, + "src": "3073:6:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1586,14 +2266,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "38", - "id": 1263, + "id": 1251, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2971:1:6", + "src": "3082:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", @@ -1601,53 +2281,55 @@ }, "value": "8" }, - "src": "2964:8:6", + "src": "3073:10:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], - "id": 1265, + "id": 1253, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2963:10:6", + "src": "3072:12:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 1238, - "id": 1266, + "functionReturnParameters": 1226, + "id": 1254, "nodeType": "Return", - "src": "2956:17:6" + "src": "3065:19:6" } } ] }, "documentation": null, - "id": 1276, + "functionSelector": "533c279a", + "id": 1264, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getByteSize", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1235, + "id": 1223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1234, + "id": 1222, "name": "number", "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "2766:11:6", + "overrides": null, + "scope": 1264, + "src": "2868:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1655,10 +2337,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1233, - "name": "uint", + "id": 1221, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2766:4:6", + "src": "2868:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1668,20 +2350,20 @@ "visibility": "internal" } ], - "src": "2765:13:6" + "src": "2867:16:6" }, - "payable": false, "returnParameters": { - "id": 1238, + "id": 1226, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1237, + "id": 1225, "name": "", "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "2799:5:6", + "overrides": null, + "scope": 1264, + "src": "2905:5:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1689,10 +2371,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1236, + "id": 1224, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2799:5:6", + "src": "2905:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1702,9458 +2384,1910 @@ "visibility": "internal" } ], - "src": "2798:7:6" + "src": "2904:7:6" }, - "scope": 1591, - "src": "2745:269:6", - "stateMutability": "view", - "superFunction": null, + "scope": 1265, + "src": "2847:282:6", + "stateMutability": "pure", + "virtual": false, "visibility": "public" - }, + } + ], + "scope": 1266, + "src": "96:5871:6" + } + ], + "src": "0:5968:6" + }, + "legacyAST": { + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/NFTBalances.sol", + "exportedSymbols": { + "NFTBalances": [ + 1265 + ] + }, + "id": 1266, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1153, + "literals": [ + "solidity", + "^", + "0.6", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "0:23:6" + }, + { + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol", + "file": "../Seriality/Seriality.sol", + "id": 1154, + "nodeType": "ImportDirective", + "scope": 1266, + "sourceUnit": 854, + "src": "24:36:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/DummyERC721Token.sol", + "file": "./DummyERC721Token.sol", + "id": 1155, + "nodeType": "ImportDirective", + "scope": 1266, + "sourceUnit": 1152, + "src": "61:32:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1156, + "name": "Seriality", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 853, + "src": "120:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Seriality_$853", + "typeString": "contract Seriality" + } + }, + "id": 1157, + "nodeType": "InheritanceSpecifier", + "src": "120:9:6" + } + ], + "contractDependencies": [ + 837, + 853, + 932, + 1032 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1265, + "linearizedBaseContracts": [ + 1265, + 853, + 932, + 1032, + 837 + ], + "name": "NFTBalances", + "nodeType": "ContractDefinition", + "nodes": [ { "body": { - "id": 1418, + "id": 1160, "nodeType": "Block", - "src": "3130:1008:6", - "statements": [ - { + "src": "157:2:6", + "statements": [] + }, + "documentation": null, + "id": 1161, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1158, + "nodeType": "ParameterList", + "parameters": [], + "src": "147:2:6" + }, + "returnParameters": { + "id": 1159, + "nodeType": "ParameterList", + "parameters": [], + "src": "157:0:6" + }, + "scope": 1265, + "src": "136:23:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1177, + "nodeType": "Block", + "src": "202:151:6", + "statements": [ + { "assignments": [ - 1287 + 1166 ], "declarations": [ { "constant": false, - "id": 1287, - "name": "bufferSize", + "id": 1166, + "name": "size", "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3140:15:6", + "overrides": null, + "scope": 1177, + "src": "212:11:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, "typeName": { - "id": 1286, - "name": "uint", + "id": 1165, + "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3140:4:6", + "src": "212:6:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint32", + "typeString": "uint32" } }, "value": null, "visibility": "internal" } ], - "id": 1289, - "initialValue": { - "argumentTypes": null, - "hexValue": "3333", - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3158:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "33" - }, + "id": 1167, + "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3140:20:6" + "src": "212:11:6" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "242:49:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "256:25:6", + "value": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "276:4:6" + } + ], + "functionName": { + "name": "extcodesize", + "nodeType": "YulIdentifier", + "src": "264:11:6" + }, + "nodeType": "YulFunctionCall", + "src": "264:17:6" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "256:4:6" + } + ] + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1163, + "isOffset": false, + "isSlot": false, + "src": "276:4:6", + "valueSize": 1 + }, + { + "declaration": 1166, + "isOffset": false, + "isSlot": false, + "src": "256:4:6", + "valueSize": 1 + } + ], + "id": 1168, + "nodeType": "InlineAssembly", + "src": "233:58:6" }, { "expression": { "argumentTypes": null, - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1290, - "name": "bufferSize", + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 1172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1170, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1166, + "src": "308:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "315:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "308:8:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4e6f74206120636f6e7472616374", + "id": 1173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "318:16:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a7125e02b15b9624893e22fc887adf7b442cd1c1f4fc92da8a28be0486c1faa3", + "typeString": "literal_string \"Not a contract\"" + }, + "value": "Not a contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a7125e02b15b9624893e22fc887adf7b442cd1c1f4fc92da8a28be0486c1faa3", + "typeString": "literal_string \"Not a contract\"" + } + ], + "id": 1169, + "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "3199:10:6", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "300: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" } }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 1291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3213:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "3199:16:6", + "id": 1174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "300:35:6", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 1293, + "id": 1175, "nodeType": "ExpressionStatement", - "src": "3199:16:6" + "src": "300:35:6" }, + { + "id": 1176, + "nodeType": "PlaceholderStatement", + "src": "345:1:6" + } + ] + }, + "documentation": null, + "id": 1178, + "name": "only_contract", + "nodeType": "ModifierDefinition", + "overrides": null, + "parameters": { + "id": 1164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1163, + "name": "addr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1178, + "src": "188:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1162, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "188:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "187:14:6" + }, + "src": "165:188:6", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1197, + "nodeType": "Block", + "src": "466:1061:6", + "statements": [ { "assignments": [ - 1297 + 1188 ], "declarations": [ { "constant": false, - "id": 1297, - "name": "tokenBalances", + "id": 1188, + "name": "sig", "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3249:27:6", + "overrides": null, + "scope": 1197, + "src": "476:10:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" }, "typeName": { - "baseType": { - "id": 1295, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3249:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1296, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3249:6:6", + "id": 1187, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "476:6:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" } }, "value": null, "visibility": "internal" } ], - "id": 1304, + "id": 1195, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "62616c616e63654f66286164647265737329", + "id": 1192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "506:20:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "typeString": "literal_string \"balanceOf(address)\"" + }, + "value": "balanceOf(address)" + } + ], "expression": { - "argumentTypes": null, - "id": 1301, - "name": "_tokenAddresses", + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "typeString": "literal_string \"balanceOf(address)\"" + } + ], + "id": 1191, + "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "3290:15:6", + "referencedDeclaration": -8, + "src": "496:9:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 1302, + "id": 1193, "isConstant": false, "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3290:22:6", + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "496:31:6", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "id": 1300, + "id": 1190, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3279:10:6", + "nodeType": "ElementaryTypeNameExpression", + "src": "489:6:6", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" }, "typeName": { - "baseType": { - "id": 1298, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3283:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1299, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3283:6:6", + "id": 1189, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "489:6:6", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": null, + "typeString": null } } }, - "id": 1303, + "id": 1194, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3279:34:6", + "src": "489:39:6", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" } }, "nodeType": "VariableDeclarationStatement", - "src": "3249:64:6" + "src": "476:52:6" }, { - "body": { - "id": 1339, - "nodeType": "Block", - "src": "3371:193:6", + "AST": { + "nodeType": "YulBlock", + "src": "547:974:6", "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "609:22:6", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "626:4:6", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "620:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "620:11:6" + }, + "variables": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "613:3:6", + "type": "" + } + ] + }, { "expression": { - "argumentTypes": null, - "id": 1325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1316, - "name": "tokenBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "3385:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1318, - "indexExpression": { - "argumentTypes": null, - "id": 1317, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3399:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "698:3:6" }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3385:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "703:3:6" } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "691:6:6" }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1320, - "name": "_tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "3420:15:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1322, - "indexExpression": { - "argumentTypes": null, - "id": 1321, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3436:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3420:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1323, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1281, - "src": "3440:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ + "nodeType": "YulFunctionCall", + "src": "691:16:6" + }, + "nodeType": "YulExpressionStatement", + "src": "691:16:6" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "781:3:6" }, { - "typeIdentifier": "t_address", - "typeString": "address" + "kind": "number", + "nodeType": "YulLiteral", + "src": "786:4:6", + "type": "", + "value": "0x04" } ], - "id": 1319, - "name": "getTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1211, - "src": "3404:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "777:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "777:14:6" }, - "id": 1324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3404:43:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "793:4:6" } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "770:6:6" }, - "src": "3385:62:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nodeType": "YulFunctionCall", + "src": "770:28:6" }, - "id": 1326, - "nodeType": "ExpressionStatement", - "src": "3385:62:6" + "nodeType": "YulExpressionStatement", + "src": "770:28:6" }, { - "expression": { - "argumentTypes": null, - "id": 1329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1327, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "3461:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3475:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "nodeType": "YulVariableDeclaration", + "src": "812:377:6", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "848:6:6", + "type": "", + "value": "150000" + }, + { + "name": "tokenAddr", + "nodeType": "YulIdentifier", + "src": "885:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "971:1:6", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1016:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1074:4:6", + "type": "", + "value": "0x24" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1124:3:6" }, - "value": "1" + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1171:4:6", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "826:4:6" }, - "src": "3461:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nodeType": "YulFunctionCall", + "src": "826:363:6" }, - "id": 1330, - "nodeType": "ExpressionStatement", - "src": "3461:15:6" + "variables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "816:6:6", + "type": "" + } + ] }, { - "expression": { - "argumentTypes": null, - "id": 1337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1331, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "3510:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "body": { + "nodeType": "YulBlock", + "src": "1249:75:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1267:8:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1274:1:6", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "bal", + "nodeType": "YulIdentifier", + "src": "1267:3:6" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1241:6:6" } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1234:6:6" }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1333, - "name": "tokenBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "3536:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1335, - "indexExpression": { - "argumentTypes": null, - "id": 1334, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3550:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "nodeType": "YulFunctionCall", + "src": "1234:14:6" + }, + "nodeType": "YulIf", + "src": "1231:2:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1354:80:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1372:17:6", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1385:3:6" } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1379:5:6" }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3536:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "nodeType": "YulFunctionCall", + "src": "1379:10:6" + }, + "variableNames": [ + { + "name": "bal", + "nodeType": "YulIdentifier", + "src": "1372:3:6" } - } - ], - "expression": { - "argumentTypes": [ + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1343:6:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1351:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1340:2:6" + }, + "nodeType": "YulFunctionCall", + "src": "1340:13:6" + }, + "nodeType": "YulIf", + "src": "1337:2:6" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1454:4:6", + "type": "", + "value": "0x40" + }, + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1464:3:6" + }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "kind": "number", + "nodeType": "YulLiteral", + "src": "1469:4:6", + "type": "", + "value": "0x20" } ], - "id": 1332, - "name": "getByteSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "3524:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 1336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3524:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1460:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1460:14:6" } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1447:6:6" }, - "src": "3510:43:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nodeType": "YulFunctionCall", + "src": "1447:28:6" }, - "id": 1338, - "nodeType": "ExpressionStatement", - "src": "3510:43:6" + "nodeType": "YulExpressionStatement", + "src": "1447:28:6" } ] }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1182, + "isOffset": false, + "isSlot": false, + "src": "793:4:6", + "valueSize": 1 }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1309, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3339:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "declaration": 1185, + "isOffset": false, + "isSlot": false, + "src": "1267:3:6", + "valueSize": 1 }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1310, - "name": "_tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "3343:15:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3343:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "declaration": 1185, + "isOffset": false, + "isSlot": false, + "src": "1372:3:6", + "valueSize": 1 + }, + { + "declaration": 1188, + "isOffset": false, + "isSlot": false, + "src": "703:3:6", + "valueSize": 1 }, - "src": "3339:26:6", + { + "declaration": 1180, + "isOffset": false, + "isSlot": false, + "src": "885:9:6", + "valueSize": 1 + } + ], + "id": 1196, + "nodeType": "InlineAssembly", + "src": "538:983:6" + } + ] + }, + "documentation": null, + "functionSelector": "c489744b", + "id": 1198, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokenBalance", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1183, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1180, + "name": "tokenAddr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1198, + "src": "384:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "384:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1340, - "initializationExpression": { - "assignments": [ - 1306 - ], - "declarations": [ - { - "constant": false, - "id": 1306, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3327:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1305, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3327:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1308, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3336:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3327:10:6" + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1182, + "name": "addr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1198, + "src": "403:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3367:3:6", - "subExpression": { - "argumentTypes": null, - "id": 1313, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3367:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1315, - "nodeType": "ExpressionStatement", - "src": "3367:3:6" + "typeName": { + "id": 1181, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "403:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "nodeType": "ForStatement", - "src": "3323:241:6" - }, + "value": null, + "visibility": "internal" + } + ], + "src": "383:33:6" + }, + "returnParameters": { + "id": 1186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1185, + "name": "bal", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1198, + "src": "449:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1184, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "449:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "448:13:6" + }, + "scope": 1265, + "src": "359:1168:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1219, + "nodeType": "Block", + "src": "1674:1167:6", + "statements": [ { "assignments": [ - 1342 + 1210 ], "declarations": [ { "constant": false, - "id": 1342, - "name": "result", + "id": 1210, + "name": "sig", "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3573:19:6", + "overrides": null, + "scope": 1219, + "src": "1684:10:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" }, "typeName": { - "id": 1341, - "name": "bytes", + "id": 1209, + "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "3573:5:6", + "src": "1684:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" } }, "value": null, "visibility": "internal" } ], - "id": 1347, + "id": 1217, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1345, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "3605:10:6", + "arguments": [ + { + "argumentTypes": null, + "hexValue": "746f6b656e4f664f776e65724279496e64657828616464726573732c75696e7432353629", + "id": 1214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1714:38:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", + "typeString": "literal_string \"tokenOfOwnerByIndex(address,uint256)\"" + }, + "value": "tokenOfOwnerByIndex(address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", + "typeString": "literal_string \"tokenOfOwnerByIndex(address,uint256)\"" + } + ], + "id": 1213, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1704:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1704:49:6", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "id": 1344, + "id": 1212, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3595:9:6", + "nodeType": "ElementaryTypeNameExpression", + "src": "1697:6:6", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" }, "typeName": { - "id": 1343, - "name": "bytes", + "id": 1211, + "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "3599:5:6", + "src": "1697:6:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": null, + "typeString": null } } }, - "id": 1346, + "id": 1216, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3595:21:6", + "src": "1697:57:6", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" } }, "nodeType": "VariableDeclarationStatement", - "src": "3573:43:6" + "src": "1684:70:6" }, { - "assignments": [ - 1349 - ], - "declarations": [ - { - "constant": false, - "id": 1349, - "name": "offset", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3626:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "AST": { + "nodeType": "YulBlock", + "src": "1773:1062:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1835:22:6", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1852:4:6", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1846:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "1846:11:6" + }, + "variables": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "1839:3:6", + "type": "" + } + ] }, - "typeName": { - "id": 1348, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3626:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1351, - "initialValue": { - "argumentTypes": null, - "id": 1350, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "3640:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3626:24:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1353, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3689:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3697:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 1355, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "3703:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1352, - "name": "boolToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "3677:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,bytes memory) pure" - } - }, - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3677:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1357, - "nodeType": "ExpressionStatement", - "src": "3677:33:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1358, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3721:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3731:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3721:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1361, - "nodeType": "ExpressionStatement", - "src": "3721:11:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1363, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3754:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "expression": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "1924:3:6" + }, + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "1929:3:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1917:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1917:16:6" + }, + "nodeType": "YulExpressionStatement", + "src": "1917:16:6" }, { - "argumentTypes": null, "expression": { - "argumentTypes": null, - "id": 1364, - "name": "_tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "3762:15:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3762:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1366, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "3786:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1362, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "3742:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3742:51:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1368, - "nodeType": "ExpressionStatement", - "src": "3742:51:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1369, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3804:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 1370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3814:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "3804:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1372, - "nodeType": "ExpressionStatement", - "src": "3804:12:6" - }, - { - "body": { - "id": 1414, - "nodeType": "Block", - "src": "3869:240:6", - "statements": [ - { - "assignments": [ - 1385 - ], - "declarations": [ - { - "constant": false, - "id": 1385, - "name": "numBytes", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3883:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1384, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3883:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1391, - "initialValue": { - "argumentTypes": null, "arguments": [ { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1387, - "name": "tokenBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "3912:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1389, - "indexExpression": { - "argumentTypes": null, - "id": 1388, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3926:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2007:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2012:4:6", + "type": "", + "value": "0x04" } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2003:3:6" }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3912:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nodeType": "YulFunctionCall", + "src": "2003:14:6" + }, + { + "name": "owner", + "nodeType": "YulIdentifier", + "src": "2019:5:6" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1386, - "name": "getByteSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "3900:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1996:6:6" }, - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3900:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "nodeType": "YulFunctionCall", + "src": "1996:29:6" }, - "nodeType": "VariableDeclarationStatement", - "src": "3883:46:6" + "nodeType": "YulExpressionStatement", + "src": "1996:29:6" }, { "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1393, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3955:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1394, - "name": "numBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "3963:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 1395, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "3973:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1392, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "3943:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3943:37:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1397, - "nodeType": "ExpressionStatement", - "src": "3943:37:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1398, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3995:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4005:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3995:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1401, - "nodeType": "ExpressionStatement", - "src": "3995:11:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1403, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "4032:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1404, - "name": "tokenBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "4040:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1406, - "indexExpression": { - "argumentTypes": null, - "id": 1405, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "4054:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4040:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1407, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "4058:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1402, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "4020:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4020:45:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1409, - "nodeType": "ExpressionStatement", - "src": "4020:45:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1410, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "4080:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1411, - "name": "numBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "4090:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "4080:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1413, - "nodeType": "ExpressionStatement", - "src": "4080:18:6" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1377, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3837:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1378, - "name": "_tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "3841:15:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3841:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3837:26:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1415, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 1375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1373, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3830:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3834:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3830:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1376, - "nodeType": "ExpressionStatement", - "src": "3830:5:6" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3865:3:6", - "subExpression": { - "argumentTypes": null, - "id": 1381, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3865:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1383, - "nodeType": "ExpressionStatement", - "src": "3865:3:6" - }, - "nodeType": "ForStatement", - "src": "3826:283:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1416, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "4125:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1285, - "id": 1417, - "nodeType": "Return", - "src": "4118:13:6" - } - ] - }, - "documentation": null, - "id": 1419, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTokenBalances", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1279, - "name": "_tokenAddresses", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3045:32:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3045:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1278, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3045:9:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1281, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3079:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3079:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3044:50:6" - }, - "payable": false, - "returnParameters": { - "id": 1285, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1284, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3116:5:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1283, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3116:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3115:14:6" - }, - "scope": 1591, - "src": "3019:1119:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1589, - "nodeType": "Block", - "src": "4298:1165:6", - "statements": [ - { - "assignments": [ - 1436 - ], - "declarations": [ - { - "constant": false, - "id": 1436, - "name": "bufferSize", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4308:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1435, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4308:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1438, - "initialValue": { - "argumentTypes": null, - "hexValue": "3333", - "id": 1437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4326:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "33" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4308:20:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1439, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "4367:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 1440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4381:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "4367:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1442, - "nodeType": "ExpressionStatement", - "src": "4367:16:6" - }, - { - "assignments": [ - 1444 - ], - "declarations": [ - { - "constant": false, - "id": 1444, - "name": "tokenBalance", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4417:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1443, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4417:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1449, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1446, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1421, - "src": "4453:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1447, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "4468:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1445, - "name": "getTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1211, - "src": "4437:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4437:38:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4417:58:6" - }, - { - "assignments": [ - 1451 - ], - "declarations": [ - { - "constant": false, - "id": 1451, - "name": "itemCount", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4485:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1450, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4485:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1453, - "initialValue": { - "argumentTypes": null, - "id": 1452, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1427, - "src": "4502:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4485:22:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1454, - "name": "idxOffset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1425, - "src": "4521:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 1455, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1427, - "src": "4531:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4521:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1457, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4520:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 1458, - "name": "tokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1444, - "src": "4539:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4520:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1467, - "nodeType": "IfStatement", - "src": "4517:98:6", - "trueBody": { - "id": 1466, - "nodeType": "Block", - "src": "4553:62:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1460, - "name": "itemCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "4567:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1461, - "name": "tokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1444, - "src": "4580:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1462, - "name": "idxOffset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1425, - "src": "4595:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4580:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4567:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1465, - "nodeType": "ExpressionStatement", - "src": "4567:37:6" - } - ] - } - }, - { - "assignments": [ - 1471 - ], - "declarations": [ - { - "constant": false, - "id": 1471, - "name": "ownedTokens", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4624:25:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1469, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4624:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1470, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4624:6:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1477, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1475, - "name": "itemCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "4663:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4652:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 1472, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4656:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1473, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4656:6:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4652:21:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4624:49:6" - }, - { - "body": { - "id": 1512, - "nodeType": "Block", - "src": "4718:201:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1488, - "name": "ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1471, - "src": "4732:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1490, - "indexExpression": { - "argumentTypes": null, - "id": 1489, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "4744:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4732:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1492, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1421, - "src": "4769:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1493, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "4784:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1494, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "4792:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 1495, - "name": "idxOffset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1425, - "src": "4794:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4792:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1491, - "name": "tokenOfOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "4749:19:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,address,uint256) view returns (uint256)" - } - }, - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4749:55:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4732:72:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1499, - "nodeType": "ExpressionStatement", - "src": "4732:72:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1500, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "4818:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4832:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4818:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1503, - "nodeType": "ExpressionStatement", - "src": "4818:15:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1504, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "4867:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1506, - "name": "ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1471, - "src": "4893:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1508, - "indexExpression": { - "argumentTypes": null, - "id": 1507, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "4905:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4893:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1505, - "name": "getByteSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "4881:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 1509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4881:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "4867:41:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1511, - "nodeType": "ExpressionStatement", - "src": "4867:41:6" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1482, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "4699:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 1483, - "name": "itemCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "4703:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4699:13:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1513, - "initializationExpression": { - "assignments": [ - 1479 - ], - "declarations": [ - { - "constant": false, - "id": 1479, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4687:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1478, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4687:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1481, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4696:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4687:10:6" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4714:3:6", - "subExpression": { - "argumentTypes": null, - "id": 1485, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "4714:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1487, - "nodeType": "ExpressionStatement", - "src": "4714:3:6" - }, - "nodeType": "ForStatement", - "src": "4683:236:6" - }, - { - "assignments": [ - 1515 - ], - "declarations": [ - { - "constant": false, - "id": 1515, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4928:19:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1514, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4928:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1520, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1518, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "4960:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4950:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1516, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4954:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4950:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4928:43:6" - }, - { - "assignments": [ - 1522 - ], - "declarations": [ - { - "constant": false, - "id": 1522, - "name": "offset", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4981:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1521, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4981:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1524, - "initialValue": { - "argumentTypes": null, - "id": 1523, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "4995:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4981:24:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1526, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5044:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5052:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 1528, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "5058:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1525, - "name": "boolToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "5032:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,bytes memory) pure" - } - }, - "id": 1529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5032:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1530, - "nodeType": "ExpressionStatement", - "src": "5032:33:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1531, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5076:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5086:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5076:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1534, - "nodeType": "ExpressionStatement", - "src": "5076:11:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1536, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5109:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1537, - "name": "itemCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "5117:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1538, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "5128:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1535, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "5097:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5097:38:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1540, - "nodeType": "ExpressionStatement", - "src": "5097:38:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1541, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5146:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 1542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5156:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "5146:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1544, - "nodeType": "ExpressionStatement", - "src": "5146:12:6" - }, - { - "body": { - "id": 1585, - "nodeType": "Block", - "src": "5198:236:6", - "statements": [ - { - "assignments": [ - 1556 - ], - "declarations": [ - { - "constant": false, - "id": 1556, - "name": "numBytes", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "5212:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1555, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5212:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1562, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1558, - "name": "ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1471, - "src": "5241:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1560, - "indexExpression": { - "argumentTypes": null, - "id": 1559, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5253:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5241:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1557, - "name": "getByteSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "5229:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 1561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5229:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5212:44:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1564, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5282:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1565, - "name": "numBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1556, - "src": "5290:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 1566, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "5300:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1563, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "5270:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5270:37:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1568, - "nodeType": "ExpressionStatement", - "src": "5270:37:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1569, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5322:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5332:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5322:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1572, - "nodeType": "ExpressionStatement", - "src": "5322:11:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1574, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5359:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1575, - "name": "ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1471, - "src": "5367:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1577, - "indexExpression": { - "argumentTypes": null, - "id": 1576, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5379:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5367:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1578, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "5383:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1573, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "5347:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5347:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1580, - "nodeType": "ExpressionStatement", - "src": "5347:43:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1581, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5405:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1582, - "name": "numBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1556, - "src": "5415:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5405:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1584, - "nodeType": "ExpressionStatement", - "src": "5405:18:6" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1549, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5179:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 1550, - "name": "itemCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "5183:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5179:13:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1586, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 1547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1545, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5172:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5176:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5172:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1548, - "nodeType": "ExpressionStatement", - "src": "5172:5:6" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5194:3:6", - "subExpression": { - "argumentTypes": null, - "id": 1552, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5194:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1554, - "nodeType": "ExpressionStatement", - "src": "5194:3:6" - }, - "nodeType": "ForStatement", - "src": "5168:266:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1587, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "5450:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1434, - "id": 1588, - "nodeType": "Return", - "src": "5443:13:6" - } - ] - }, - "documentation": null, - "id": 1590, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1430, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1421, - "src": "4260:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1431, - "modifierName": { - "argumentTypes": null, - "id": 1429, - "name": "only_contract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1192, - "src": "4246:13:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4246:28:6" - } - ], - "name": "getOwnedTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1421, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4167:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1420, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4167:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1423, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4190:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1422, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4190:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1425, - "name": "idxOffset", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4206:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1424, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4206:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1427, - "name": "count", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4222:10:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1426, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4222:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4166:67:6" - }, - "payable": false, - "returnParameters": { - "id": 1434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1433, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4284:5:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1432, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4284:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4283:14:6" - }, - "scope": 1591, - "src": "4143:1320:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 1592, - "src": "95:5370:6" - } - ], - "src": "0:5465:6" - }, - "legacyAST": { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/NFTBalances.sol", - "exportedSymbols": { - "NFTBalances": [ - 1591 - ] - }, - "id": 1592, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1167, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:6" - }, - { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol", - "file": "../Seriality/Seriality.sol", - "id": 1168, - "nodeType": "ImportDirective", - "scope": 1592, - "sourceUnit": 853, - "src": "25:36:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/nft-balances/DummyERC721Token.sol", - "file": "./DummyERC721Token.sol", - "id": 1169, - "nodeType": "ImportDirective", - "scope": 1592, - "sourceUnit": 1166, - "src": "62:32:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1170, - "name": "Seriality", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 852, - "src": "119:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Seriality_$852", - "typeString": "contract Seriality" - } - }, - "id": 1171, - "nodeType": "InheritanceSpecifier", - "src": "119:9:6" - } - ], - "contractDependencies": [ - 836, - 852, - 928, - 1049 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1591, - "linearizedBaseContracts": [ - 1591, - 852, - 928, - 1049, - 836 - ], - "name": "NFTBalances", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1174, - "nodeType": "Block", - "src": "155:2:6", - "statements": [] - }, - "documentation": null, - "id": 1175, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1172, - "nodeType": "ParameterList", - "parameters": [], - "src": "145:2:6" - }, - "payable": false, - "returnParameters": { - "id": 1173, - "nodeType": "ParameterList", - "parameters": [], - "src": "155:0:6" - }, - "scope": 1591, - "src": "134:23:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1191, - "nodeType": "Block", - "src": "199:151:6", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1180, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 1192, - "src": "209:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 1179, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "209:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1181, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "209:11:6" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 1180, - "isOffset": false, - "isSlot": false, - "src": "253:4:6", - "valueSize": 1 - } - }, - { - "addr": { - "declaration": 1177, - "isOffset": false, - "isSlot": false, - "src": "273:4:6", - "valueSize": 1 - } - } - ], - "id": 1182, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(addr)\n}", - "src": "230:74:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 1186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1184, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "305:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "312:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "305:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f74206120636f6e7472616374", - "id": 1187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "315:16:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a7125e02b15b9624893e22fc887adf7b442cd1c1f4fc92da8a28be0486c1faa3", - "typeString": "literal_string \"Not a contract\"" - }, - "value": "Not a contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a7125e02b15b9624893e22fc887adf7b442cd1c1f4fc92da8a28be0486c1faa3", - "typeString": "literal_string \"Not a contract\"" - } - ], - "id": 1183, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2582, - 2583 - ], - "referencedDeclaration": 2583, - "src": "297:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "297:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1189, - "nodeType": "ExpressionStatement", - "src": "297:35:6" - }, - { - "id": 1190, - "nodeType": "PlaceholderStatement", - "src": "342:1:6" - } - ] - }, - "documentation": null, - "id": 1192, - "name": "only_contract", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 1178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1177, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 1192, - "src": "185:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1176, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "185:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "184:14:6" - }, - "src": "162:188:6", - "visibility": "internal" - }, - { - "body": { - "id": 1210, - "nodeType": "Block", - "src": "444:1038:6", - "statements": [ - { - "assignments": [ - 1202 - ], - "declarations": [ - { - "constant": false, - "id": 1202, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 1211, - "src": "454:10:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1201, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "454:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1208, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "62616c616e63654f66286164647265737329", - "id": 1205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "484:20:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", - "typeString": "literal_string \"balanceOf(address)\"" - }, - "value": "balanceOf(address)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", - "typeString": "literal_string \"balanceOf(address)\"" - } - ], - "id": 1204, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "474:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 1206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "474:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "467:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" - }, - "id": 1207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "467:39:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "454:52:6" - }, - { - "externalReferences": [ - { - "sig": { - "declaration": 1202, - "isOffset": false, - "isSlot": false, - "src": "680:3:6", - "valueSize": 1 - } - }, - { - "bal": { - "declaration": 1199, - "isOffset": false, - "isSlot": false, - "src": "1220:3:6", - "valueSize": 1 - } - }, - { - "addr": { - "declaration": 1196, - "isOffset": false, - "isSlot": false, - "src": "769:4:6", - "valueSize": 1 - } - }, - { - "bal": { - "declaration": 1199, - "isOffset": false, - "isSlot": false, - "src": "1328:3:6", - "valueSize": 1 - } - }, - { - "tokenAddr": { - "declaration": 1194, - "isOffset": false, - "isSlot": false, - "src": "857:9:6", - "valueSize": 1 - } - } - ], - "id": 1209, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n mstore(ptr, sig)\n mstore(add(ptr, 0x04), addr)\n let result := call(150000, tokenAddr, 0, ptr, 0x24, ptr, 0x20)\n if iszero(result)\n {\n bal := 0\n }\n if gt(result, 0)\n {\n bal := mload(ptr)\n }\n mstore(0x40, add(ptr, 0x20))\n}", - "src": "516:966:6" - } - ] - }, - "documentation": null, - "id": 1211, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTokenBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1194, - "name": "tokenAddr", - "nodeType": "VariableDeclaration", - "scope": 1211, - "src": "380:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "380:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1196, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 1211, - "src": "399:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1195, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "399:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "379:33:6" - }, - "payable": false, - "returnParameters": { - "id": 1200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1199, - "name": "bal", - "nodeType": "VariableDeclaration", - "scope": 1211, - "src": "434:8:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1198, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "434:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "433:10:6" - }, - "scope": 1591, - "src": "355:1127:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1231, - "nodeType": "Block", - "src": "1597:1143:6", - "statements": [ - { - "assignments": [ - 1223 - ], - "declarations": [ - { - "constant": false, - "id": 1223, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1607:10:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1222, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1607:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1229, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "746f6b656e4f664f776e65724279496e64657828616464726573732c75696e7432353629", - "id": 1226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1637:38:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", - "typeString": "literal_string \"tokenOfOwnerByIndex(address,uint256)\"" - }, - "value": "tokenOfOwnerByIndex(address,uint256)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_2f745c59a57ba1667616e5a9707eeaa36ec97c283ee24190b75d9c8d14bcb215", - "typeString": "literal_string \"tokenOfOwnerByIndex(address,uint256)\"" - } - ], - "id": 1225, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "1627:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 1227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1627:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1620:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" - }, - "id": 1228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1620:57:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1607:70:6" - }, - { - "externalReferences": [ - { - "token": { - "declaration": 1220, - "isOffset": false, - "isSlot": false, - "src": "2488:5:6", - "valueSize": 1 - } - }, - { - "sig": { - "declaration": 1223, - "isOffset": false, - "isSlot": false, - "src": "1851:3:6", - "valueSize": 1 - } - }, - { - "tokenId": { - "declaration": 1217, - "isOffset": false, - "isSlot": false, - "src": "2034:7:6", - "valueSize": 1 - } - }, - { - "owner": { - "declaration": 1215, - "isOffset": false, - "isSlot": false, - "src": "1940:5:6", - "valueSize": 1 - } - }, - { - "token": { - "declaration": 1220, - "isOffset": false, - "isSlot": false, - "src": "2584:5:6", - "valueSize": 1 - } - }, - { - "tokenAddr": { - "declaration": 1213, - "isOffset": false, - "isSlot": false, - "src": "2125:9:6", - "valueSize": 1 - } - } - ], - "id": 1230, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n mstore(ptr, sig)\n mstore(add(ptr, 0x04), owner)\n mstore(add(ptr, 0x24), tokenId)\n let result := call(150000, tokenAddr, 0, ptr, 0x44, ptr, 0x20)\n if iszero(result)\n {\n token := 0\n }\n if gt(result, 0)\n {\n token := mload(ptr)\n }\n mstore(0x40, add(ptr, 0x20))\n}", - "src": "1687:1053:6" - } - ] - }, - "documentation": null, - "id": 1232, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1213, - "name": "tokenAddr", - "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1516:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1516:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1215, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1535:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1535:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1217, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1550:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1216, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1550:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1515:48:6" - }, - "payable": false, - "returnParameters": { - "id": 1221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1220, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1585:10:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1219, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1585:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1584:12:6" - }, - "scope": 1591, - "src": "1487:1253:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1275, - "nodeType": "Block", - "src": "2806:208:6", - "statements": [ - { - "assignments": [ - 1240 - ], - "declarations": [ - { - "constant": false, - "id": 1240, - "name": "bitpos", - "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "2816:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1239, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2816:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1242, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2831:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2816:16:6" - }, - { - "body": { - "id": 1255, - "nodeType": "Block", - "src": "2860:67:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2874:8:6", - "subExpression": { - "argumentTypes": null, - "id": 1246, - "name": "bitpos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "2874:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1248, - "nodeType": "ExpressionStatement", - "src": "2874:8:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1249, - "name": "number", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1234, - "src": "2896:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1250, - "name": "number", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1234, - "src": "2905:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2915:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2905:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2896:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1254, - "nodeType": "ExpressionStatement", - "src": "2896:20:6" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1243, - "name": "number", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1234, - "src": "2848:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2858:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2848:11:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1256, - "nodeType": "WhileStatement", - "src": "2842:85:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1257, - "name": "bitpos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "2939:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 1258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2948:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "2939:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2953:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2939:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1267, - "name": "bitpos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "2996:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 1268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3003:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "2996:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1270, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2995:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3006:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2995:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 1238, - "id": 1273, - "nodeType": "Return", - "src": "2988:19:6" - }, - "id": 1274, - "nodeType": "IfStatement", - "src": "2936:71:6", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1262, - "name": "bitpos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "2964:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 1263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2971:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "2964:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1265, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2963:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 1238, - "id": 1266, - "nodeType": "Return", - "src": "2956:17:6" - } - } - ] - }, - "documentation": null, - "id": 1276, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getByteSize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1234, - "name": "number", - "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "2766:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1233, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2766:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2765:13:6" - }, - "payable": false, - "returnParameters": { - "id": 1238, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1237, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "2799:5:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1236, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2799:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2798:7:6" - }, - "scope": 1591, - "src": "2745:269:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1418, - "nodeType": "Block", - "src": "3130:1008:6", - "statements": [ - { - "assignments": [ - 1287 - ], - "declarations": [ - { - "constant": false, - "id": 1287, - "name": "bufferSize", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3140:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1286, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3140:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1289, - "initialValue": { - "argumentTypes": null, - "hexValue": "3333", - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3158:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "33" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3140:20:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1290, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "3199:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 1291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3213:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "3199:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1293, - "nodeType": "ExpressionStatement", - "src": "3199:16:6" - }, - { - "assignments": [ - 1297 - ], - "declarations": [ - { - "constant": false, - "id": 1297, - "name": "tokenBalances", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3249:27:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1295, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3249:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1296, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3249:6:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1304, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1301, - "name": "_tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "3290:15:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3290:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3279:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 1298, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3283:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1299, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3283:6:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 1303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3279:34:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3249:64:6" - }, - { - "body": { - "id": 1339, - "nodeType": "Block", - "src": "3371:193:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1316, - "name": "tokenBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "3385:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1318, - "indexExpression": { - "argumentTypes": null, - "id": 1317, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3399:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3385:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1320, - "name": "_tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "3420:15:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1322, - "indexExpression": { - "argumentTypes": null, - "id": 1321, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3436:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3420:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1323, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1281, - "src": "3440:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1319, - "name": "getTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1211, - "src": "3404:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 1324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3404:43:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3385:62:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1326, - "nodeType": "ExpressionStatement", - "src": "3385:62:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1327, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "3461:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3475:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3461:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1330, - "nodeType": "ExpressionStatement", - "src": "3461:15:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1331, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "3510:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1333, - "name": "tokenBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "3536:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1335, - "indexExpression": { - "argumentTypes": null, - "id": 1334, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3550:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3536:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1332, - "name": "getByteSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "3524:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 1336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3524:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "3510:43:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1338, - "nodeType": "ExpressionStatement", - "src": "3510:43:6" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1309, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3339:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1310, - "name": "_tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "3343:15:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3343:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3339:26:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1340, - "initializationExpression": { - "assignments": [ - 1306 - ], - "declarations": [ - { - "constant": false, - "id": 1306, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3327:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1305, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3327:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1308, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3336:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3327:10:6" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3367:3:6", - "subExpression": { - "argumentTypes": null, - "id": 1313, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3367:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1315, - "nodeType": "ExpressionStatement", - "src": "3367:3:6" - }, - "nodeType": "ForStatement", - "src": "3323:241:6" - }, - { - "assignments": [ - 1342 - ], - "declarations": [ - { - "constant": false, - "id": 1342, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3573:19:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1341, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3573:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1347, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1345, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "3605:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3595:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1343, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3599:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3595:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3573:43:6" - }, - { - "assignments": [ - 1349 - ], - "declarations": [ - { - "constant": false, - "id": 1349, - "name": "offset", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3626:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1348, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3626:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1351, - "initialValue": { - "argumentTypes": null, - "id": 1350, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "3640:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3626:24:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1353, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3689:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3697:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 1355, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "3703:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1352, - "name": "boolToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "3677:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,bytes memory) pure" - } - }, - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3677:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1357, - "nodeType": "ExpressionStatement", - "src": "3677:33:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1358, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3721:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3731:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3721:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1361, - "nodeType": "ExpressionStatement", - "src": "3721:11:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1363, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3754:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1364, - "name": "_tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "3762:15:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3762:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1366, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "3786:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1362, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "3742:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3742:51:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1368, - "nodeType": "ExpressionStatement", - "src": "3742:51:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1369, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3804:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 1370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3814:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "3804:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1372, - "nodeType": "ExpressionStatement", - "src": "3804:12:6" - }, - { - "body": { - "id": 1414, - "nodeType": "Block", - "src": "3869:240:6", - "statements": [ - { - "assignments": [ - 1385 - ], - "declarations": [ - { - "constant": false, - "id": 1385, - "name": "numBytes", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3883:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1384, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3883:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1391, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1387, - "name": "tokenBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "3912:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1389, - "indexExpression": { - "argumentTypes": null, - "id": 1388, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3926:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3912:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1386, - "name": "getByteSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "3900:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3900:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3883:46:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1393, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3955:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1394, - "name": "numBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "3963:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 1395, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "3973:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1392, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "3943:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3943:37:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1397, - "nodeType": "ExpressionStatement", - "src": "3943:37:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1398, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "3995:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4005:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3995:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1401, - "nodeType": "ExpressionStatement", - "src": "3995:11:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1403, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "4032:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1404, - "name": "tokenBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "4040:13:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1406, - "indexExpression": { - "argumentTypes": null, - "id": 1405, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "4054:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4040:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1407, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "4058:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1402, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "4020:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4020:45:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1409, - "nodeType": "ExpressionStatement", - "src": "4020:45:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1410, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "4080:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1411, - "name": "numBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "4090:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "4080:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1413, - "nodeType": "ExpressionStatement", - "src": "4080:18:6" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1377, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3837:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1378, - "name": "_tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "3841:15:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3841:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3837:26:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1415, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 1375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1373, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3830:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3834:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3830:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1376, - "nodeType": "ExpressionStatement", - "src": "3830:5:6" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3865:3:6", - "subExpression": { - "argumentTypes": null, - "id": 1381, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1306, - "src": "3865:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1383, - "nodeType": "ExpressionStatement", - "src": "3865:3:6" - }, - "nodeType": "ForStatement", - "src": "3826:283:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1416, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "4125:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1285, - "id": 1417, - "nodeType": "Return", - "src": "4118:13:6" - } - ] - }, - "documentation": null, - "id": 1419, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTokenBalances", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1279, - "name": "_tokenAddresses", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3045:32:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1277, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3045:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1278, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3045:9:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1281, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3079:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3079:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3044:50:6" - }, - "payable": false, - "returnParameters": { - "id": 1285, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1284, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1419, - "src": "3116:5:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1283, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3116:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3115:14:6" - }, - "scope": 1591, - "src": "3019:1119:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1589, - "nodeType": "Block", - "src": "4298:1165:6", - "statements": [ - { - "assignments": [ - 1436 - ], - "declarations": [ - { - "constant": false, - "id": 1436, - "name": "bufferSize", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4308:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1435, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4308:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1438, - "initialValue": { - "argumentTypes": null, - "hexValue": "3333", - "id": 1437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4326:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "33" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4308:20:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1439, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "4367:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 1440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4381:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "4367:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1442, - "nodeType": "ExpressionStatement", - "src": "4367:16:6" - }, - { - "assignments": [ - 1444 - ], - "declarations": [ - { - "constant": false, - "id": 1444, - "name": "tokenBalance", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4417:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1443, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4417:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1449, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1446, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1421, - "src": "4453:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1447, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "4468:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1445, - "name": "getTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1211, - "src": "4437:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4437:38:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4417:58:6" - }, - { - "assignments": [ - 1451 - ], - "declarations": [ - { - "constant": false, - "id": 1451, - "name": "itemCount", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4485:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1450, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4485:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1453, - "initialValue": { - "argumentTypes": null, - "id": 1452, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1427, - "src": "4502:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4485:22:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1454, - "name": "idxOffset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1425, - "src": "4521:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 1455, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1427, - "src": "4531:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4521:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1457, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4520:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 1458, - "name": "tokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1444, - "src": "4539:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4520:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1467, - "nodeType": "IfStatement", - "src": "4517:98:6", - "trueBody": { - "id": 1466, - "nodeType": "Block", - "src": "4553:62:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1460, - "name": "itemCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "4567:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2102:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2107:4:6", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2098:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2098:14:6" + }, + { + "name": "tokenId", + "nodeType": "YulIdentifier", + "src": "2114:7:6" } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2091:6:6" }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "nodeType": "YulFunctionCall", + "src": "2091:31:6" + }, + "nodeType": "YulExpressionStatement", + "src": "2091:31:6" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2136:377:6", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2172:6:6", + "type": "", + "value": "150000" }, - "id": 1463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1461, - "name": "tokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1444, - "src": "4580:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "name": "tokenAddr", + "nodeType": "YulIdentifier", + "src": "2209:9:6" }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1462, - "name": "idxOffset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1425, - "src": "4595:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2295:1:6", + "type": "", + "value": "0" }, - "src": "4580:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2340:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2398:4:6", + "type": "", + "value": "0x44" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2448:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2495:4:6", + "type": "", + "value": "0x20" } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "2150:4:6" }, - "src": "4567:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nodeType": "YulFunctionCall", + "src": "2150:363:6" }, - "id": 1465, - "nodeType": "ExpressionStatement", - "src": "4567:37:6" - } - ] - } - }, - { - "assignments": [ - 1471 - ], - "declarations": [ - { - "constant": false, - "id": 1471, - "name": "ownedTokens", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4624:25:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1469, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4624:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "variables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2140:6:6", + "type": "" } - }, - "id": 1470, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4624:6:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1477, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1475, - "name": "itemCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "4663:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4652:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" + ] }, - "typeName": { - "baseType": { - "id": 1472, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4656:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1473, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4656:6:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4652:21:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4624:49:6" - }, - { - "body": { - "id": 1512, - "nodeType": "Block", - "src": "4718:201:6", - "statements": [ { - "expression": { - "argumentTypes": null, - "id": 1498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1488, - "name": "ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1471, - "src": "4732:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1490, - "indexExpression": { - "argumentTypes": null, - "id": 1489, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "4744:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4732:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1492, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1421, - "src": "4769:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1493, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "4784:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "body": { + "nodeType": "YulBlock", + "src": "2573:63:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2591:10:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2600:1:6", + "type": "", + "value": "0" }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1494, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "4792:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 1495, - "name": "idxOffset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1425, - "src": "4794:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4792:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, + "variableNames": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "name": "token", + "nodeType": "YulIdentifier", + "src": "2591:5:6" } - ], - "id": 1491, - "name": "tokenOfOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "4749:19:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,address,uint256) view returns (uint256)" - } - }, - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4749:55:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2565:6:6" } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2558:6:6" }, - "src": "4732:72:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nodeType": "YulFunctionCall", + "src": "2558:14:6" }, - "id": 1499, - "nodeType": "ExpressionStatement", - "src": "4732:72:6" + "nodeType": "YulIf", + "src": "2555:2:6" }, { - "expression": { - "argumentTypes": null, - "id": 1502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1500, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "4818:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "body": { + "nodeType": "YulBlock", + "src": "2666:82:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2684:19:6", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2699:3:6" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2693:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "2693:10:6" + }, + "variableNames": [ + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "2684:5:6" + } + ] } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4832:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2655:6:6" }, - "value": "1" + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2663:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2652:2:6" }, - "src": "4818:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nodeType": "YulFunctionCall", + "src": "2652:13:6" }, - "id": 1503, - "nodeType": "ExpressionStatement", - "src": "4818:15:6" + "nodeType": "YulIf", + "src": "2649:2:6" }, { "expression": { - "argumentTypes": null, - "id": 1510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1504, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "4867:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1506, - "name": "ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1471, - "src": "4893:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1508, - "indexExpression": { - "argumentTypes": null, - "id": 1507, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "4905:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2768:4:6", + "type": "", + "value": "0x40" + }, + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2778:3:6" }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4893:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "kind": "number", + "nodeType": "YulLiteral", + "src": "2783:4:6", + "type": "", + "value": "0x20" } ], - "id": 1505, - "name": "getByteSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "4881:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 1509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4881:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2774:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2774:14:6" } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2761:6:6" }, - "src": "4867:41:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nodeType": "YulFunctionCall", + "src": "2761:28:6" }, - "id": 1511, - "nodeType": "ExpressionStatement", - "src": "4867:41:6" + "nodeType": "YulExpressionStatement", + "src": "2761:28:6" } ] }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1202, + "isOffset": false, + "isSlot": false, + "src": "2019:5:6", + "valueSize": 1 }, - "id": 1484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1482, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "4699:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "declaration": 1210, + "isOffset": false, + "isSlot": false, + "src": "1929:3:6", + "valueSize": 1 }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 1483, - "name": "itemCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "4703:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "declaration": 1207, + "isOffset": false, + "isSlot": false, + "src": "2591:5:6", + "valueSize": 1 + }, + { + "declaration": 1207, + "isOffset": false, + "isSlot": false, + "src": "2684:5:6", + "valueSize": 1 + }, + { + "declaration": 1200, + "isOffset": false, + "isSlot": false, + "src": "2209:9:6", + "valueSize": 1 }, - "src": "4699:13:6", + { + "declaration": 1204, + "isOffset": false, + "isSlot": false, + "src": "2114:7:6", + "valueSize": 1 + } + ], + "id": 1218, + "nodeType": "InlineAssembly", + "src": "1764:1071:6" + } + ] + }, + "documentation": null, + "functionSelector": "6b42bf2f", + "id": 1220, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenOfOwnerByIndex", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1205, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1200, + "name": "tokenAddr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1220, + "src": "1571:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1571:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1513, - "initializationExpression": { - "assignments": [ - 1479 - ], - "declarations": [ - { - "constant": false, - "id": 1479, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4687:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1478, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4687:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1481, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4696:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4687:10:6" + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1202, + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1220, + "src": "1598:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4714:3:6", - "subExpression": { - "argumentTypes": null, - "id": 1485, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "4714:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1487, - "nodeType": "ExpressionStatement", - "src": "4714:3:6" + "typeName": { + "id": 1201, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1598:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "nodeType": "ForStatement", - "src": "4683:236:6" + "value": null, + "visibility": "internal" }, { - "assignments": [ - 1515 - ], - "declarations": [ - { - "constant": false, - "id": 1515, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4928:19:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1514, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4928:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1520, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1518, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "4960:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "4950:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1516, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4954:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4950:21:6", + "constant": false, + "id": 1204, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1220, + "src": "1621:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1203, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1621:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1561:81:6" + }, + "returnParameters": { + "id": 1208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1207, + "name": "token", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1220, + "src": "1659:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1206, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1659:7:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4928:43:6" - }, + "value": null, + "visibility": "internal" + } + ], + "src": "1658:15:6" + }, + "scope": 1265, + "src": "1533:1308:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1263, + "nodeType": "Block", + "src": "2912:217:6", + "statements": [ { "assignments": [ - 1522 + 1228 ], "declarations": [ { "constant": false, - "id": 1522, - "name": "offset", + "id": 1228, + "name": "bitpos", "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4981:11:6", + "overrides": null, + "scope": 1263, + "src": "2922:12:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": 1521, - "name": "uint", + "id": 1227, + "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "4981:4:6", + "src": "2922:5:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "value": null, "visibility": "internal" } ], - "id": 1524, + "id": 1230, "initialValue": { "argumentTypes": null, - "id": 1523, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "4995:10:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4981:24:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1526, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5044:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5052:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 1528, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "5058:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1525, - "name": "boolToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "5032:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,bytes memory) pure" - } - }, - "id": 1529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5032:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1530, - "nodeType": "ExpressionStatement", - "src": "5032:33:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1531, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5076:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5086:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5076:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1534, - "nodeType": "ExpressionStatement", - "src": "5076:11:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1536, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5109:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1537, - "name": "itemCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "5117:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1538, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "5128:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1535, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "5097:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1539, + "hexValue": "30", + "id": 1229, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "number", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5097:38:6", + "nodeType": "Literal", + "src": "2937:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1540, - "nodeType": "ExpressionStatement", - "src": "5097:38:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1541, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5146:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 1542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5156:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "src": "5146:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "value": "0" }, - "id": 1544, - "nodeType": "ExpressionStatement", - "src": "5146:12:6" + "nodeType": "VariableDeclarationStatement", + "src": "2922:16:6" }, { - "body": { - "id": 1585, - "nodeType": "Block", - "src": "5198:236:6", - "statements": [ - { - "assignments": [ - 1556 - ], - "declarations": [ - { - "constant": false, - "id": 1556, - "name": "numBytes", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "5212:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1555, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5212:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1562, - "initialValue": { + "body": { + "id": 1243, + "nodeType": "Block", + "src": "2968:67:6", + "statements": [ + { + "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1558, - "name": "ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1471, - "src": "5241:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1560, - "indexExpression": { - "argumentTypes": null, - "id": 1559, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5253:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5241:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1557, - "name": "getByteSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "5229:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint8_$", - "typeString": "function (uint256) view returns (uint8)" - } - }, - "id": 1561, + "id": 1235, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5229:27:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5212:44:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1564, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5282:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1565, - "name": "numBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1556, - "src": "5290:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 1566, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "5300:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1563, - "name": "uintToBytes", + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2982:8:6", + "subExpression": { + "argumentTypes": null, + "id": 1234, + "name": "bitpos", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "5270:11:6", + "referencedDeclaration": 1228, + "src": "2982:6:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "id": 1567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5270:37:6", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "id": 1568, + "id": 1236, "nodeType": "ExpressionStatement", - "src": "5270:37:6" + "src": "2982:8:6" }, { "expression": { "argumentTypes": null, - "id": 1571, + "id": 1241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1569, - "name": "offset", + "id": 1237, + "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5322:6:6", + "referencedDeclaration": 1222, + "src": "3004:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "-=", + "operator": "=", "rightHandSide": { "argumentTypes": null, - "hexValue": "31", - "id": 1570, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1240, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "5332:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5322:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1572, - "nodeType": "ExpressionStatement", - "src": "5322:11:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { + "leftExpression": { "argumentTypes": null, - "id": 1574, - "name": "offset", + "id": 1238, + "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5359:6:6", + "referencedDeclaration": 1222, + "src": "3013:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - { + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1575, - "name": "ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1471, - "src": "5367:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1577, - "indexExpression": { - "argumentTypes": null, - "id": 1576, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5379:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "hexValue": "31", + "id": 1239, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5367:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1578, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "5383:6:6", + "nodeType": "Literal", + "src": "3023:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1573, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "5347:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 1579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5347:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1580, - "nodeType": "ExpressionStatement", - "src": "5347:43:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1581, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1522, - "src": "5405:6:6", + "value": "1" + }, + "src": "3013:11:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1582, - "name": "numBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1556, - "src": "5415:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5405:18:6", + "src": "3004:20:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1584, + "id": 1242, "nodeType": "ExpressionStatement", - "src": "5405:18:6" + "src": "3004:20:6" } ] }, @@ -11163,286 +4297,352 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1551, + "id": 1233, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1549, - "name": "i", + "id": 1231, + "name": "number", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5179:1:6", + "referencedDeclaration": 1222, + "src": "2955:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2965:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2955:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1244, + "nodeType": "WhileStatement", + "src": "2948:87:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1245, + "name": "bitpos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1228, + "src": "3048:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "hexValue": "38", + "id": 1246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3057:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "3048:10:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "nodeType": "BinaryOperation", - "operator": "<", + "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1550, - "name": "itemCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1451, - "src": "5183:9:6", + "hexValue": "30", + "id": 1248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3062:1:6", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "src": "5179:13:6", + "src": "3048:15:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1586, - "initializationExpression": { + "falseBody": { "expression": { "argumentTypes": null, - "id": 1547, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1260, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "id": 1545, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5172:1:6", + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1255, + "name": "bitpos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1228, + "src": "3107:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "38", + "id": 1256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3116:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "3107:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1258, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3106:12:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { "argumentTypes": null, - "hexValue": "30", - "id": 1546, + "hexValue": "31", + "id": 1259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5176:1:6", + "src": "3121: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" }, - "src": "5172:5:6", + "src": "3106:16:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "id": 1548, - "nodeType": "ExpressionStatement", - "src": "5172:5:6" + "functionReturnParameters": 1226, + "id": 1261, + "nodeType": "Return", + "src": "3099:23:6" }, - "loopExpression": { + "id": 1262, + "nodeType": "IfStatement", + "src": "3044:78:6", + "trueBody": { "expression": { "argumentTypes": null, - "id": 1553, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1250, + "name": "bitpos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1228, + "src": "3073:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "38", + "id": 1251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3082:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "3073:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1253, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5194:3:6", - "subExpression": { - "argumentTypes": null, - "id": 1552, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5194:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "nodeType": "TupleExpression", + "src": "3072:12:6", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "id": 1554, - "nodeType": "ExpressionStatement", - "src": "5194:3:6" - }, - "nodeType": "ForStatement", - "src": "5168:266:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1587, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "5450:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1434, - "id": 1588, - "nodeType": "Return", - "src": "5443:13:6" + "functionReturnParameters": 1226, + "id": 1254, + "nodeType": "Return", + "src": "3065:19:6" + } } ] }, "documentation": null, - "id": 1590, + "functionSelector": "533c279a", + "id": 1264, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1430, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1421, - "src": "4260:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1431, - "modifierName": { - "argumentTypes": null, - "id": 1429, - "name": "only_contract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1192, - "src": "4246:13:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4246:28:6" - } - ], - "name": "getOwnedTokens", + "kind": "function", + "modifiers": [], + "name": "getByteSize", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1428, + "id": 1223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1421, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4167:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1420, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4167:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1423, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4190:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1422, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4190:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1425, - "name": "idxOffset", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4206:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1424, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4206:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1427, - "name": "count", + "id": 1222, + "name": "number", "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4222:10:6", + "overrides": null, + "scope": 1264, + "src": "2868:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11450,10 +4650,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1426, - "name": "uint", + "id": 1221, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4222:4:6", + "src": "2868:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11463,62 +4663,62 @@ "visibility": "internal" } ], - "src": "4166:67:6" + "src": "2867:16:6" }, - "payable": false, "returnParameters": { - "id": 1434, + "id": 1226, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1433, + "id": 1225, "name": "", "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "4284:5:6", + "overrides": null, + "scope": 1264, + "src": "2905:5:6", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": 1432, - "name": "bytes", + "id": 1224, + "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "4284:5:6", + "src": "2905:5:6", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "value": null, "visibility": "internal" } ], - "src": "4283:14:6" + "src": "2904:7:6" }, - "scope": 1591, - "src": "4143:1320:6", - "stateMutability": "view", - "superFunction": null, + "scope": 1265, + "src": "2847:282:6", + "stateMutability": "pure", + "virtual": false, "visibility": "public" } ], - "scope": 1592, - "src": "95:5370:6" + "scope": 1266, + "src": "96:5871:6" } ], - "src": "0:5465:6" + "src": "0:5968:6" }, "compiler": { "name": "solc", - "version": "0.4.26+commit.4563c3fc.Emscripten.clang" + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.11", - "updatedAt": "2019-07-11T20:34:24.922Z", + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T00:58:12.934Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/PublicTokens.json b/build/contracts/PublicTokens.json index 29b0a67..486c642 100644 --- a/build/contracts/PublicTokens.json +++ b/build/contracts/PublicTokens.json @@ -2,250 +2,253 @@ "contractName": "PublicTokens", "abi": [ { - "constant": true, + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], - "name": "pubTokens", + "name": "idMap", "outputs": [ { - "name": "name", - "type": "bytes16" - }, - { - "name": "symbol", - "type": "bytes16" - }, - { - "name": "addr", - "type": "address" - }, - { - "name": "decimals", - "type": "uint8" - }, - { - "name": "website", - "type": "bytes32" - }, - { - "name": "email", - "type": "bytes32" - }, - { - "name": "isValid", - "type": "bool" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [ { + "internalType": "address", "name": "", "type": "address" } ], - "name": "idMap", + "name": "moderator", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [], "name": "owner", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, - "inputs": [], - "name": "tokenCount", - "outputs": [ + "inputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], - "payable": false, + "name": "pubTokens", + "outputs": [ + { + "internalType": "bytes16", + "name": "name", + "type": "bytes16" + }, + { + "internalType": "bytes16", + "name": "symbol", + "type": "bytes16" + }, + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "website", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "email", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "isValid", + "type": "bool" + } + ], "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [], - "name": "tokenValidCount", + "name": "tokenCount", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "moderator", + "inputs": [], + "name": "tokenValidCount", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": false, "inputs": [ { + "internalType": "address", "name": "addr", "type": "address" } ], "name": "addModerator", "outputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, "inputs": [ { + "internalType": "address", "name": "addr", "type": "address" } ], "name": "removeModerator", "outputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, "inputs": [ { + "internalType": "address", "name": "addr", "type": "address" }, { + "internalType": "uint256", "name": "from", "type": "uint256" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "loadTokensFromContract", "outputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, "inputs": [ { + "internalType": "bytes16", "name": "name", "type": "bytes16" }, { + "internalType": "bytes16", "name": "symbol", "type": "bytes16" }, { + "internalType": "address", "name": "addr", "type": "address" }, { + "internalType": "uint8", "name": "decimals", "type": "uint8" }, { + "internalType": "bytes32", "name": "website", "type": "bytes32" }, { + "internalType": "bytes32", "name": "email", "type": "bytes32" } ], "name": "addSetToken", "outputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, "inputs": [ { + "internalType": "address", "name": "addr", "type": "address" } ], "name": "disableToken", "outputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, "inputs": [ { + "internalType": "address", "name": "addr", "type": "address" } ], "name": "enableToken", "outputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": true, "inputs": [ { + "internalType": "address", "name": "addr", "type": "address" } @@ -253,38 +256,43 @@ "name": "getToken", "outputs": [ { + "internalType": "bytes16", "name": "", "type": "bytes16" }, { + "internalType": "bytes16", "name": "", "type": "bytes16" }, { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "uint8", "name": "", "type": "uint8" }, { + "internalType": "bytes32", "name": "", "type": "bytes32" }, { + "internalType": "bytes32", "name": "", "type": "bytes32" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [ { + "internalType": "uint256", "name": "id", "type": "uint256" } @@ -292,83 +300,91 @@ "name": "getTokenById", "outputs": [ { + "internalType": "bytes16", "name": "", "type": "bytes16" }, { + "internalType": "bytes16", "name": "", "type": "bytes16" }, { + "internalType": "address", "name": "", "type": "address" }, { + "internalType": "uint8", "name": "", "type": "uint8" }, { + "internalType": "bytes32", "name": "", "type": "bytes32" }, { + "internalType": "bytes32", "name": "", "type": "bytes32" } ], - "payable": false, "stateMutability": "view", "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pubTokens\",\"outputs\":[{\"name\":\"name\",\"type\":\"bytes16\"},{\"name\":\"symbol\",\"type\":\"bytes16\"},{\"name\":\"addr\",\"type\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\"},{\"name\":\"website\",\"type\":\"bytes32\"},{\"name\":\"email\",\"type\":\"bytes32\"},{\"name\":\"isValid\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"disableToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getToken\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes16\"},{\"name\":\"\",\"type\":\"bytes16\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint8\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"idMap\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getTokenById\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes16\"},{\"name\":\"\",\"type\":\"bytes16\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint8\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"removeModerator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenValidCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"moderator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"addModerator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"enableToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"uint256\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"loadTokensFromContract\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"name\",\"type\":\"bytes16\"},{\"name\":\"symbol\",\"type\":\"bytes16\"},{\"name\":\"addr\",\"type\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\"},{\"name\":\"website\",\"type\":\"bytes32\"},{\"name\":\"email\",\"type\":\"bytes32\"}],\"name\":\"addSetToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol\":\"PublicTokens\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol\":{\"keccak256\":\"0x711fd1a0111118c7447db4b589c112cafff95c7777b3db01fe7d66b4245266e3\",\"urls\":[\"bzzr://643c48f64dc9cd3ff8d684527f084e05c7c1c870ad12cdf4009fa62738e38dfa\"]}},\"version\":1}", - "bytecode": "0x608060405260008055600060015534801561001957600080fd5b5033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611b4d8061006a6000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631f85eb3f146100d557806323e27a64146101d257806359770438146102155780636b941e101461031d5780637bdc60d914610374578063869d785f146104665780638da5cb5b146104a95780639f181b5e14610500578063a593f0ba1461052b578063b1bed4f514610556578063b532e4cb146105b1578063c690908a146105f4578063dc9a469814610637578063fae0cc191461068e575b600080fd5b3480156100e157600080fd5b5061010060048036038101908080359060200190929190505050610734565b60405180886fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018560ff1660ff168152602001846000191660001916815260200183600019166000191681526020018215151515815260200197505050505050505060405180910390f35b3480156101de57600080fd5b50610213600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ea565b005b34801561022157600080fd5b50610256600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a7e565b60405180876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001866fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001965050505050505060405180910390f35b34801561032957600080fd5b5061035e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c6f565b6040518082815260200191505060405180910390f35b34801561038057600080fd5b5061039f60048036038101908080359060200190929190505050610c87565b60405180876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001866fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001965050505050505060405180910390f35b34801561047257600080fd5b506104a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e39565b005b3480156104b557600080fd5b506104be610f59565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561050c57600080fd5b50610515610f7f565b6040518082815260200191505060405180910390f35b34801561053757600080fd5b50610540610f85565b6040518082815260200191505060405180910390f35b34801561056257600080fd5b50610597600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f8b565b604051808215151515815260200191505060405180910390f35b3480156105bd57600080fd5b506105f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fab565b005b34801561060057600080fd5b50610635600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110cb565b005b34801561064357600080fd5b5061068c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061135e565b005b34801561069a57600080fd5b5061073260048036038101908080356fffffffffffffffffffffffffffffffff1916906020019092919080356fffffffffffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050611631565b005b60036020528060005260406000206000915090508060000160009054906101000a900470010000000000000000000000000000000002908060000160109054906101000a900470010000000000000000000000000000000002908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154908060040160009054906101000a900460ff16905087565b60003373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610898575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561090c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b8160008173ffffffffffffffffffffffffffffffffffffffff161415151561099c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b60036000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002091508273ffffffffffffffffffffffffffffffffffffffff168260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a795760008260040160006101000a81548160ff021916908315150217905550600160008154809291906001900391905055505b505050565b600080600080600080610a8f611a9c565b60036000600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002060e060405190810160405290816000820160009054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016000820160109054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660ff1660ff1681526020016002820154600019166000191681526020016003820154600019166000191681526020016004820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505091939550919395565b60056020528060005260406000206000915090505481565b600080600080600080610c98611a9c565b6003600089815260200190815260200160002060e060405190810160405290816000820160009054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016000820160109054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660ff1660ff1681526020016002820154600019166000191681526020016003820154600019166000191681526020016004820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505091939550919395565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b60015481565b60046020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60003373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611179575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156111ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b8160008173ffffffffffffffffffffffffffffffffffffffff161415151561127d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b60036000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002091508273ffffffffffffffffffffffffffffffffffffffff168260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156113595760018260040160006101000a81548160ff0219169083151502179055506001600081548092919060010191905055505b505050565b600080611369611a9c565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8592508491505b838501821015611629578273ffffffffffffffffffffffffffffffffffffffff16631f85eb3f836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e060405180830381600087803b1580156114ae57600080fd5b505af11580156114c2573d6000803e3d6000fd5b505050506040513d60e08110156114d857600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508760000188602001896040018a6060018b6080018c60a0018d60c00187151515158152508760001916600019168152508760001916600019168152508760ff1660ff168152508773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152505050505050505061161c816000015182602001518360400151846060015185608001518660a00151611631565b8180600101925050611435565b505050505050565b60003373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806116df575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b8460008173ffffffffffffffffffffffffffffffffffffffff16141515156117e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b856000813b905060008163ffffffff16111515611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f74206120636f6e747261637400000000000000000000000000000000000081525060200191505060405180910390fd5b60036000600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020935060008460010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561199c57600080815480929190600101919050555060016000815480929190600101919050555060036000805481526020019081526020016000209350600054600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060018460040160006101000a81548160ff0219169083151502179055505b898460000160006101000a8154816fffffffffffffffffffffffffffffffff021916908370010000000000000000000000000000000090040217905550888460000160106101000a8154816fffffffffffffffffffffffffffffffff021916908370010000000000000000000000000000000090040217905550878460010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550868460010160146101000a81548160ff021916908360ff160217905550858460020181600019169055508484600301816000191690555050505050505050505050565b60e06040519081016040528060006fffffffffffffffffffffffffffffffff1916815260200160006fffffffffffffffffffffffffffffffff19168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff168152602001600080191681526020016000801916815260200160001515815250905600a165627a7a7230582070958715050ccdbd3a7a70e51d791d5076ee4793bdb39e12f9dabc86253edec00029", - "deployedBytecode": "0x6080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631f85eb3f146100d557806323e27a64146101d257806359770438146102155780636b941e101461031d5780637bdc60d914610374578063869d785f146104665780638da5cb5b146104a95780639f181b5e14610500578063a593f0ba1461052b578063b1bed4f514610556578063b532e4cb146105b1578063c690908a146105f4578063dc9a469814610637578063fae0cc191461068e575b600080fd5b3480156100e157600080fd5b5061010060048036038101908080359060200190929190505050610734565b60405180886fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018560ff1660ff168152602001846000191660001916815260200183600019166000191681526020018215151515815260200197505050505050505060405180910390f35b3480156101de57600080fd5b50610213600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ea565b005b34801561022157600080fd5b50610256600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a7e565b60405180876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001866fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001965050505050505060405180910390f35b34801561032957600080fd5b5061035e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c6f565b6040518082815260200191505060405180910390f35b34801561038057600080fd5b5061039f60048036038101908080359060200190929190505050610c87565b60405180876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001866fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001965050505050505060405180910390f35b34801561047257600080fd5b506104a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e39565b005b3480156104b557600080fd5b506104be610f59565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561050c57600080fd5b50610515610f7f565b6040518082815260200191505060405180910390f35b34801561053757600080fd5b50610540610f85565b6040518082815260200191505060405180910390f35b34801561056257600080fd5b50610597600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f8b565b604051808215151515815260200191505060405180910390f35b3480156105bd57600080fd5b506105f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fab565b005b34801561060057600080fd5b50610635600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110cb565b005b34801561064357600080fd5b5061068c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061135e565b005b34801561069a57600080fd5b5061073260048036038101908080356fffffffffffffffffffffffffffffffff1916906020019092919080356fffffffffffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050611631565b005b60036020528060005260406000206000915090508060000160009054906101000a900470010000000000000000000000000000000002908060000160109054906101000a900470010000000000000000000000000000000002908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154908060040160009054906101000a900460ff16905087565b60003373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610898575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561090c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b8160008173ffffffffffffffffffffffffffffffffffffffff161415151561099c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b60036000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002091508273ffffffffffffffffffffffffffffffffffffffff168260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a795760008260040160006101000a81548160ff021916908315150217905550600160008154809291906001900391905055505b505050565b600080600080600080610a8f611a9c565b60036000600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002060e060405190810160405290816000820160009054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016000820160109054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660ff1660ff1681526020016002820154600019166000191681526020016003820154600019166000191681526020016004820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505091939550919395565b60056020528060005260406000206000915090505481565b600080600080600080610c98611a9c565b6003600089815260200190815260200160002060e060405190810160405290816000820160009054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016000820160109054906101000a9004700100000000000000000000000000000000026fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660ff1660ff1681526020016002820154600019166000191681526020016003820154600019166000191681526020016004820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505091939550919395565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b60015481565b60046020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60003373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611179575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156111ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b8160008173ffffffffffffffffffffffffffffffffffffffff161415151561127d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b60036000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002091508273ffffffffffffffffffffffffffffffffffffffff168260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156113595760018260040160006101000a81548160ff0219169083151502179055506001600081548092919060010191905055505b505050565b600080611369611a9c565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8592508491505b838501821015611629578273ffffffffffffffffffffffffffffffffffffffff16631f85eb3f836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e060405180830381600087803b1580156114ae57600080fd5b505af11580156114c2573d6000803e3d6000fd5b505050506040513d60e08110156114d857600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508760000188602001896040018a6060018b6080018c60a0018d60c00187151515158152508760001916600019168152508760001916600019168152508760ff1660ff168152508773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152505050505050505061161c816000015182602001518360400151846060015185608001518660a00151611631565b8180600101925050611435565b505050505050565b60003373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806116df575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b8460008173ffffffffffffffffffffffffffffffffffffffff16141515156117e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b856000813b905060008163ffffffff16111515611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f74206120636f6e747261637400000000000000000000000000000000000081525060200191505060405180910390fd5b60036000600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020935060008460010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561199c57600080815480929190600101919050555060016000815480929190600101919050555060036000805481526020019081526020016000209350600054600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060018460040160006101000a81548160ff0219169083151502179055505b898460000160006101000a8154816fffffffffffffffffffffffffffffffff021916908370010000000000000000000000000000000090040217905550888460000160106101000a8154816fffffffffffffffffffffffffffffffff021916908370010000000000000000000000000000000090040217905550878460010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550868460010160146101000a81548160ff021916908360ff160217905550858460020181600019169055508484600301816000191690555050505050505050505050565b60e06040519081016040528060006fffffffffffffffffffffffffffffffff1916815260200160006fffffffffffffffffffffffffffffffff19168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff168152602001600080191681526020016000801916815260200160001515815250905600a165627a7a7230582070958715050ccdbd3a7a70e51d791d5076ee4793bdb39e12f9dabc86253edec00029", - "sourceMap": "25:3847:9:-;;;78:1;53:26;;149:1;119:31;;1267:57;8:9:-1;5:2;;;30:1;27;20:12;5:2;1267:57:9;1307:10;1299:5;;:18;;;;;;;;;;;;;;;;;;25:3847;;;;;;", - "deployedSourceMap": "25:3847:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;607:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;607:39:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2685:233;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2685:233:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;3159:358;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3159:358:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;699:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;699:37:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3522:348;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3522:348:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1427:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1427:97:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;199:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;199:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;53:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53:26:9;;;;;;;;;;;;;;;;;;;;;;;119:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;119:31:9;;;;;;;;;;;;;;;;;;;;;;;652:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;652:41:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1329:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1329:93:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;2923:231;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2923:231:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;1529:475;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1529:475:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2009:671;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2009:671:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;607:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2685:233::-;2761:19;886:10;877:19;;:5;;;;;;;;;;;:19;;;:52;;;;925:4;900:29;;:9;:21;910:10;900:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;877:52;869:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2745:4;1221:3;1213:4;:11;;;;1205:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2783:9;:22;2793:5;:11;2799:4;2793:11;;;;;;;;;;;;;;;;2783:22;;;;;;;;;;;2761:44;;2832:4;2818:18;;:5;:10;;;;;;;;;;;;:18;;;2815:97;;;2868:5;2852;:13;;;:21;;;;;;;;;;;;;;;;;;2887:15;;:17;;;;;;;;;;;;;;2815:97;958:1;2685:233;;:::o;3159:358::-;3218:7;3233;3248;3263:5;3276:7;3291;3310:18;;:::i;:::-;3331:9;:22;3341:5;:11;3347:4;3341:11;;;;;;;;;;;;;;;;3331:22;;;;;;;;;;;3310:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3381:5;:10;;;3402:5;:12;;;3425:5;:10;;;3446:5;:14;;;3471:5;:13;;;3498:5;:11;;;3363:147;;;;;;;;;;;;3159:358;;;;;;;;:::o;699:37::-;;;;;;;;;;;;;;;;;:::o;3522:348::-;3580:7;3595;3610;3625:5;3638:7;3653;3672:18;;:::i;:::-;3693:9;:13;3703:2;3693:13;;;;;;;;;;;3672:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3734:5;:10;;;3755:5;:12;;;3778:5;:10;;;3799:5;:14;;;3824:5;:13;;;3851:5;:11;;;3716:147;;;;;;;;;;;;3522:348;;;;;;;;:::o;1427:97::-;791:10;782:19;;:5;;;;;;;;;;;:19;;;774:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1512:5;1494:9;:15;1504:4;1494:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;1427:97;:::o;199:20::-;;;;;;;;;;;;;:::o;53:26::-;;;;:::o;119:31::-;;;;:::o;652:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;1329:93::-;791:10;782:19;;:5;;;;;;;;;;;:19;;;774:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1411:4;1393:9;:15;1403:4;1393:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;1329:93;:::o;2923:231::-;2998:19;886:10;877:19;;:5;;;;;;;;;;;:19;;;:52;;;;925:4;900:29;;:9;:21;910:10;900:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;877:52;869:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2982:4;1221:3;1213:4;:11;;;;1205:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3020:9;:22;3030:5;:11;3036:4;3030:11;;;;;;;;;;;;;;;;3020:22;;;;;;;;;;;2998:44;;3069:4;3055:18;;:5;:10;;;;;;;;;;;;:18;;;3052:96;;;3105:4;3089:5;:13;;;:20;;;;;;;;;;;;;;;;;;3123:15;;:17;;;;;;;;;;;;;3052:96;958:1;2923:231;;:::o;1529:475::-;1626:17;1678:6;1731:18;;:::i;:::-;791:10;782:19;;:5;;;;;;;;;;;:19;;;774:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1659:4;1626:38;;1687:4;1678:13;;1674:324;1703:6;1698:4;:11;1693:1;:17;1674:324;;;1863:4;:14;;;1878:1;1863:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1863:17:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1863:17:9;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1863:17:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:5;:10;;1776:5;:12;;1790:5;:10;;1802:5;:14;;1818:5;:13;;1833:5;:11;;1846:5;:13;;1763:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1894:93;1906:5;:10;;;1918:5;:12;;;1932:5;:10;;;1944:5;:14;;;1960:5;:13;;;1975:5;:11;;;1894;:93::i;:::-;1712:3;;;;;;;1674:324;;;1529:475;;;;;;:::o;2009:671::-;2236:19;886:10;877:19;;:5;;;;;;;;;;;:19;;;:52;;;;925:4;900:29;;:9;:21;910:10;900:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;877:52;869:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2200:4;1221:3;1213:4;:11;;;;1205:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2220:4;1018:11;1082:4;1070:17;1062:25;;1121:1;1114:4;:8;;;1106:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2258:9;:22;2268:5;:11;2274:4;2268:11;;;;;;;;;;;;;;;;2258:22;;;;;;;;;;;2236:44;;2307:3;2293:5;:10;;;;;;;;;;;;:17;;;2290:202;;;2326:10;;:12;;;;;;;;;;;;;2352:15;;:17;;;;;;;;;;;;;2391:9;:21;2401:10;;2391:21;;;;;;;;;;;2383:29;;2440:10;;2426:5;:11;2432:4;2426:11;;;;;;;;;;;;;;;:24;;;;2480:4;2464:5;:13;;;:20;;;;;;;;;;;;;;;;;;2290:202;2514:4;2501:5;:10;;;:17;;;;;;;;;;;;;;;;;;;2543:6;2528:5;:12;;;:21;;;;;;;;;;;;;;;;;;;2572:4;2559:5;:10;;;:17;;;;;;;;;;;;;;;;;;2603:8;2586:5;:14;;;:25;;;;;;;;;;;;;;;;;;2637:7;2621:5;:13;;:23;;;;;;;2668:5;2654;:11;;:19;;;;;;;1254:1;;958;2009:671;;;;;;;:::o;25:3847::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.24;\ncontract PublicTokens {\n uint public tokenCount = 0; //total count of all added tokens\n uint public tokenValidCount = 0; //count of all valid tokens isValid!=false\n address public owner;\n struct Token {\n bytes16 name; // Name of the token\n bytes16 symbol; // Symbol of the token\n address addr; // Address of the token contract\n uint8 decimals; // decimals of the token\n bytes32 website; // website of the token\n bytes32 email; // support email of the token\n bool isValid; //whether the token is valid or not\n }\n mapping(uint => Token) public pubTokens;\n mapping(address => bool) public moderator;\n mapping(address => uint) public idMap;\n modifier owner_only() {\n require(owner == msg.sender, \"only owner\");\n _;\n }\n modifier only_mod() {\n require(owner == msg.sender || moderator[msg.sender] == true, \"only moderetor\");\n _;\n }\n modifier only_contract(address addr) {\n uint32 size;\n assembly {\n size := extcodesize(addr)\n }\n require(size > 0, \"Not a contract\");\n _;\n }\n modifier no_null(address addr) {\n require(addr != 0x0, \"invalid address\");\n _;\n }\n constructor () public {\n owner = msg.sender;\n }\n function addModerator(address addr) public owner_only {\n moderator[addr] = true;\n }\n function removeModerator(address addr) public owner_only {\n moderator[addr] = false;\n }\n function loadTokensFromContract(address addr, uint from, uint amount) public owner_only{\n PublicTokens pubT = PublicTokens(addr);\n for(uint i = from; i < (from+amount); i++ ){\n Token memory token;\n (token.name, token.symbol, token.addr, token.decimals, token.website, token.email, token.isValid) = pubT.pubTokens(i);\n addSetToken(token.name, token.symbol, token.addr, token.decimals, token.website, token.email);\n }\n }\n function addSetToken(\n bytes16 name, \n bytes16 symbol, \n address addr, \n uint8 decimals, \n bytes32 website, \n bytes32 email) public only_mod no_null(addr) only_contract(addr) {\n Token storage token = pubTokens[idMap[addr]];\n if(token.addr == 0x0) {\n tokenCount++;\n tokenValidCount++;\n token = pubTokens[tokenCount];\n idMap[addr] = tokenCount;\n token.isValid = true;\n \t}\n token.name = name;\n token.symbol = symbol;\n token.addr = addr;\n token.decimals = decimals;\n token.website = website;\n token.email = email;\n }\n function disableToken(address addr) public only_mod no_null(addr) {\n Token storage token = pubTokens[idMap[addr]];\n if(token.addr == addr) {\n token.isValid = false;\n tokenValidCount--;\n \t}\n }\n function enableToken(address addr) public only_mod no_null(addr) {\n Token storage token = pubTokens[idMap[addr]];\n if(token.addr == addr) {\n token.isValid = true;\n tokenValidCount++;\n \t}\n }\n function getToken(address addr) public view returns (\n \tbytes16, \n \tbytes16, \n \taddress, \n \tuint8, \n \tbytes32, \n \tbytes32) {\n Token memory token = pubTokens[idMap[addr]];\n return (\n \ttoken.name,\n \ttoken.symbol,\n \ttoken.addr,\n \ttoken.decimals,\n \ttoken.website,\n token.email);\n }\n function getTokenById(uint id) public view returns (\n \tbytes16, \n \tbytes16, \n \taddress, \n \tuint8, \n \tbytes32, \n \tbytes32) {\n Token memory token = pubTokens[id];\n return (\n \ttoken.name,\n \ttoken.symbol,\n \ttoken.addr,\n \ttoken.decimals,\n \ttoken.website,\n token.email);\n }\n}", + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"addModerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"symbol\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"website\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"email\",\"type\":\"bytes32\"}],\"name\":\"addSetToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"disableToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"enableToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getToken\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getTokenById\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"idMap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"from\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"loadTokensFromContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"moderator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pubTokens\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"symbol\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"website\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"email\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"removeModerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenValidCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol\":\"PublicTokens\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol\":{\"keccak256\":\"0xb5b75318ee3b243d955d01bffb94c08a001a048985ba1d4ff01cb6d9e098c1b7\",\"urls\":[\"bzz-raw://c2884fe41a806529698f7bf79bb418905b45499128d70aa049f06b1d9c041585\",\"dweb:/ipfs/QmbxG4AS6ATfm2jojhnXBdJ2NVmnmESsXhQ5SZ4p7ELGQk\"]}},\"version\":1}", + "bytecode": "0x608060405260008055600060015534801561001957600080fd5b5033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a878061006a6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639f181b5e1161008c578063b532e4cb11610066578063b532e4cb1461057b578063c690908a146105bf578063dc9a469814610603578063fae0cc191461065b576100ea565b80639f181b5e146104e3578063a593f0ba14610501578063b1bed4f51461051f576100ea565b80636b941e10116100c85780636b941e101461031a5780637bdc60d914610372578063869d785f146104555780638da5cb5b14610499576100ea565b80631f85eb3f146100ef57806323e27a64146101dd5780635977043814610221575b600080fd5b61011b6004803603602081101561010557600080fd5b81019080803590602001909291905050506106fa565b60405180886fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018560ff1660ff1681526020018481526020018381526020018215151515815260200197505050505050505060405180910390f35b61021f600480360360208110156101f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610790565b005b6102636004803603602081101561023757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a36565b60405180876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001866fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff168152602001838152602001828152602001965050505050505060405180910390f35b61035c6004803603602081101561033057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf6565b6040518082815260200191505060405180910390f35b61039e6004803603602081101561038857600080fd5b8101908080359060200190929190505050610c0e565b60405180876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001866fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff168152602001838152602001828152602001965050505050505060405180910390f35b6104976004803603602081101561046b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d8f565b005b6104a1610ead565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104eb610ed3565b6040518082815260200191505060405180910390f35b610509610ed9565b6040518082815260200191505060405180910390f35b6105616004803603602081101561053557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610edf565b604051808215151515815260200191505060405180910390f35b6105bd6004803603602081101561059157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eff565b005b610601600480360360208110156105d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061101d565b005b6106596004803603606081101561061957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506112c2565b005b6106f8600480360360c081101561067157600080fd5b8101908080356fffffffffffffffffffffffffffffffff1916906020019092919080356fffffffffffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611566565b005b60036020528060005260406000206000915090508060000160009054906101000a900460801b908060000160109054906101000a900460801b908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154908060040160009054906101000a900460ff16905087565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061083c575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b6108ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600060036000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002090508273ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a315760008160040160006101000a81548160ff021916908315150217905550600160008154809291906001900391905055505b505050565b600080600080600080610a476119cd565b60036000600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206040518060e00160405290816000820160009054906101000a900460801b6fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016000820160109054906101000a900460801b6fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660ff1660ff16815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505091939550919395565b60056020528060005260406000206000915090505481565b600080600080600080610c1f6119cd565b600360008981526020019081526020016000206040518060e00160405290816000820160009054906101000a900460801b6fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016000820160109054906101000a900460801b6fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660ff1660ff16815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505091939550919395565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b60015481565b60046020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806110c9575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b61113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600060036000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002090508273ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156112bd5760018160040160006101000a81548160ff0219169083151502179055506001600081548092919060010191905055505b505050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600083905060008390505b82840181101561155f576113a26119cd565b8273ffffffffffffffffffffffffffffffffffffffff16631f85eb3f836040518263ffffffff1660e01b81526004018082815260200191505060e06040518083038186803b1580156113f357600080fd5b505afa158015611407573d6000803e3d6000fd5b505050506040513d60e081101561141d57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508760000188602001896040018a6060018b6080018c60a0018d60c001871515151581525087815250878152508760ff1660ff168152508773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681525050505050505050611551816000015182602001518360400151846060015185608001518660a00151611566565b508080600101915050611390565b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611612575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b611684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b83600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b846000813b905060008163ffffffff16116117ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f74206120636f6e747261637400000000000000000000000000000000000081525060200191505060405180910390fd5b600060036000600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156118f757600080815480929190600101919050555060016000815480929190600101919050555060036000805481526020019081526020016000209050600054600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060018160040160006101000a81548160ff0219169083151502179055505b898160000160006101000a8154816fffffffffffffffffffffffffffffffff021916908360801c0217905550888160000160106101000a8154816fffffffffffffffffffffffffffffffff021916908360801c0217905550878160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550868160010160146101000a81548160ff021916908360ff16021790555085816002018190555084816003018190555050505050505050505050565b6040518060e0016040528060006fffffffffffffffffffffffffffffffff1916815260200160006fffffffffffffffffffffffffffffffff19168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff1681526020016000801916815260200160008019168152602001600015158152509056fea26469706673582212202d2f4b0cf45f4abdc0c607408a9f97ceb33e913c8b6060af2c796219f180ded364736f6c63430006040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639f181b5e1161008c578063b532e4cb11610066578063b532e4cb1461057b578063c690908a146105bf578063dc9a469814610603578063fae0cc191461065b576100ea565b80639f181b5e146104e3578063a593f0ba14610501578063b1bed4f51461051f576100ea565b80636b941e10116100c85780636b941e101461031a5780637bdc60d914610372578063869d785f146104555780638da5cb5b14610499576100ea565b80631f85eb3f146100ef57806323e27a64146101dd5780635977043814610221575b600080fd5b61011b6004803603602081101561010557600080fd5b81019080803590602001909291905050506106fa565b60405180886fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018560ff1660ff1681526020018481526020018381526020018215151515815260200197505050505050505060405180910390f35b61021f600480360360208110156101f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610790565b005b6102636004803603602081101561023757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a36565b60405180876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001866fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff168152602001838152602001828152602001965050505050505060405180910390f35b61035c6004803603602081101561033057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf6565b6040518082815260200191505060405180910390f35b61039e6004803603602081101561038857600080fd5b8101908080359060200190929190505050610c0e565b60405180876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff19168152602001866fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff168152602001838152602001828152602001965050505050505060405180910390f35b6104976004803603602081101561046b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d8f565b005b6104a1610ead565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104eb610ed3565b6040518082815260200191505060405180910390f35b610509610ed9565b6040518082815260200191505060405180910390f35b6105616004803603602081101561053557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610edf565b604051808215151515815260200191505060405180910390f35b6105bd6004803603602081101561059157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eff565b005b610601600480360360208110156105d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061101d565b005b6106596004803603606081101561061957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506112c2565b005b6106f8600480360360c081101561067157600080fd5b8101908080356fffffffffffffffffffffffffffffffff1916906020019092919080356fffffffffffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611566565b005b60036020528060005260406000206000915090508060000160009054906101000a900460801b908060000160109054906101000a900460801b908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154908060040160009054906101000a900460ff16905087565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061083c575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b6108ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600060036000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002090508273ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a315760008160040160006101000a81548160ff021916908315150217905550600160008154809291906001900391905055505b505050565b600080600080600080610a476119cd565b60036000600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206040518060e00160405290816000820160009054906101000a900460801b6fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016000820160109054906101000a900460801b6fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660ff1660ff16815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505091939550919395565b60056020528060005260406000206000915090505481565b600080600080600080610c1f6119cd565b600360008981526020019081526020016000206040518060e00160405290816000820160009054906101000a900460801b6fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016000820160109054906101000a900460801b6fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660ff1660ff16815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505091939550919395565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b60015481565b60046020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806110c9575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b61113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600060036000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002090508273ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156112bd5760018160040160006101000a81548160ff0219169083151502179055506001600081548092919060010191905055505b505050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f6e6c79206f776e65720000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600083905060008390505b82840181101561155f576113a26119cd565b8273ffffffffffffffffffffffffffffffffffffffff16631f85eb3f836040518263ffffffff1660e01b81526004018082815260200191505060e06040518083038186803b1580156113f357600080fd5b505afa158015611407573d6000803e3d6000fd5b505050506040513d60e081101561141d57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508760000188602001896040018a6060018b6080018c60a0018d60c001871515151581525087815250878152508760ff1660ff168152508773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681525050505050505050611551816000015182602001518360400151846060015185608001518660a00151611566565b508080600101915050611390565b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611612575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b611684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6f6e6c79206d6f64657265746f7200000000000000000000000000000000000081525060200191505060405180910390fd5b83600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b846000813b905060008163ffffffff16116117ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f74206120636f6e747261637400000000000000000000000000000000000081525060200191505060405180910390fd5b600060036000600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156118f757600080815480929190600101919050555060016000815480929190600101919050555060036000805481526020019081526020016000209050600054600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060018160040160006101000a81548160ff0219169083151502179055505b898160000160006101000a8154816fffffffffffffffffffffffffffffffff021916908360801c0217905550888160000160106101000a8154816fffffffffffffffffffffffffffffffff021916908360801c0217905550878160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550868160010160146101000a81548160ff021916908360ff16021790555085816002018190555084816003018190555050505050505050505050565b6040518060e0016040528060006fffffffffffffffffffffffffffffffff1916815260200160006fffffffffffffffffffffffffffffffff19168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff1681526020016000801916815260200160008019168152602001600015158152509056fea26469706673582212202d2f4b0cf45f4abdc0c607408a9f97ceb33e913c8b6060af2c796219f180ded364736f6c63430006040033", + "sourceMap": "26:4228:9:-:0;;;82:1;54:29;;156:1;123:34;;1319:56;5:9:-1;2:2;;;27:1;24;17:12;2:2;1319:56:9;1358:10;1350:5;;:18;;;;;;;;;;;;;;;;;;26:4228;;;;;;", + "deployedSourceMap": "26:4228:9:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26:4228:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;611:42:9;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;611:42:9;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3021:237;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3021:237:9;;;;;;;;;;;;;;;;;;;:::i;:::-;;3505:374;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3505:374:9;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;706:40;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;706:40:9;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3885:367;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3885:367:9;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1480:97;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1480:97:9;;;;;;;;;;;;;;;;;;;:::i;:::-;;206:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;54:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;123:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;659:41;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;659:41:9;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1381:93;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1381:93:9;;;;;;;;;;;;;;;;;;;:::i;:::-;;3264:235;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3264:235:9;;;;;;;;;;;;;;;;;;;:::i;:::-;;1583:744;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1583:744:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2333:682;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;2333:682:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;611:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3021:237::-;909:10;900:19;;:5;;;;;;;;;;;:19;;;:52;;;;948:4;923:29;;:9;:21;933:10;923:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;900:52;879:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3081:4:::1;1273:1;1257:18;;:4;:18;;;;1249:46;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;3097:19:::2;3119:9;:22;3129:5;:11;3135:4;3129:11;;;;;;;;;;;;;;;;3119:22;;;;;;;;;;;3097:44;;3169:4;3155:18;;:5;:10;;;;;;;;;;;;:18;;;3151:101;;;3205:5;3189;:13;;;:21;;;;;;;;;;;;;;;;;;3224:15;;:17;;;;;;;;;;;;;;3151:101;1305:1;1002::::1;3021:237:::0;:::o;3505:374::-;3582:7;3591;3600;3609:5;3616:7;3625;3648:18;;:::i;:::-;3669:9;:22;3679:5;:11;3685:4;3679:11;;;;;;;;;;;;;;;;3669:22;;;;;;;;;;;3648:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3722:5;:10;;;3746:5;:12;;;3772:5;:10;;;3796:5;:14;;;3824:5;:13;;;3851:5;:11;;;3701:171;;;;;;;;;;;;;3505:374;;;;;;;:::o;706:40::-;;;;;;;;;;;;;;;;;:::o;3885:367::-;3964:7;3973;3982;3991:5;3998:7;4007;4030:18;;:::i;:::-;4051:9;:13;4061:2;4051:13;;;;;;;;;;;4030:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4095:5;:10;;;4119:5;:12;;;4145:5;:10;;;4169:5;:14;;;4197:5;:13;;;4224:5;:11;;;4074:171;;;;;;;;;;;;;3885:367;;;;;;;:::o;1480:97::-;801:10;792:19;;:5;;;;;;;;;;;:19;;;784:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1565:5:::1;1547:9;:15;1557:4;1547:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;1480:97:::0;:::o;206:20::-;;;;;;;;;;;;;:::o;54:29::-;;;;:::o;123:34::-;;;;:::o;659:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;1381:93::-;801:10;792:19;;:5;;;;;;;;;;;:19;;;784:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1463:4:::1;1445:9;:15;1455:4;1445:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;1381:93:::0;:::o;3264:235::-;909:10;900:19;;:5;;;;;;;;;;;:19;;;:52;;;;948:4;923:29;;:9;:21;933:10;923:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;900:52;879:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3323:4:::1;1273:1;1257:18;;:4;:18;;;;1249:46;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;3339:19:::2;3361:9;:22;3371:5;:11;3377:4;3371:11;;;;;;;;;;;;;;;;3361:22;;;;;;;;;;;3339:44;;3411:4;3397:18;;:5;:10;;;;;;;;;;;;:18;;;3393:100;;;3447:4;3431:5;:13;;;:20;;;;;;;;;;;;;;;;;;3465:15;;:17;;;;;;;;;;;;;3393:100;1305:1;1002::::1;3264:235:::0;:::o;1583:744::-;801:10;792:19;;:5;;;;;;;;;;;:19;;;784:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1707:17:::1;1740:4;1707:38;;1760:9;1772:4;1760:16;;1755:566;1790:6;1783:4;:13;1778:1;:19;1755:566;;;1818:18;;:::i;:::-;2076:4;:14;;;2091:1;2076:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;2076:17:9;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;2076:17:9;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29::::0;22:12:::1;4:2;2076:17:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1868:5;:10;;1896:5;:12;;1926:5;:10;;1954:5;:14;;1986:5;:13;;2017:5;:11;;2046:5;:13;;1850:243;;;;;;;::::0;::::1;;;::::0;::::1;;;::::0;::::1;;;;;;;::::0;::::1;;;;;;;::::0;::::1;;;;;;;;;::::0;::::1;;;;;;;;;::::0;::::1;;;;;;;2107:203;2136:5;:10;;;2164:5;:12;;;2194:5;:10;;;2222:5;:14;;;2254:5;:13;;;2285:5;:11;;;2107;:203::i;:::-;1755:566;1799:3;;;;;;;1755:566;;;;836:1;1583:744:::0;;;:::o;2333:682::-;909:10;900:19;;:5;;;;;;;;;;;:19;;;:52;;;;948:4;923:29;;:9;:21;933:10;923:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;900:52;879:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2524:4:::1;1273:1;1257:18;;:4;:18;;;;1249:46;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;2544:4:::2;1062:11;1126:4;1114:17;1106:25;;1165:1;1158:4;:8;;;1150:35;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;2560:19:::3;2582:9;:22;2592:5;:11;2598:4;2592:11;;;;;;;;;;;;;;;;2582:22;;;;;;;;;;;2560:44;;2640:1;2618:24;;:5;:10;;;;;;;;;;;;:24;;;2614:213;;;2658:10;::::0;:12:::3;;;;;;;;;;;;;2684:15;;:17;;;;;;;;;;;;;2723:9;:21;2733:10:::0;::::3;2723:21;;;;;;;;;;;2715:29;;2772:10;;2758:5;:11;2764:4;2758:11;;;;;;;;;;;;;;;:24;;;;2812:4;2796:5;:13;;;:20;;;;;;;;;;;;;;;;;;2614:213;2849:4;2836:5;:10;;;:17;;;;;;;;;;;;;;;;;;2878:6;2863:5;:12;;;:21;;;;;;;;;;;;;;;;;;2907:4;2894:5;:10;;;:17;;;;;;;;;;;;;;;;;;2938:8;2921:5;:14;;;:25;;;;;;;;;;;;;;;;;;2972:7;2956:5;:13;;:23;;;;3003:5;2989;:11;;:19;;;;1195:1;1305::::2;;1002::::1;2333:682:::0;;;;;;:::o;26:4228::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.6.4;\n\n\ncontract PublicTokens {\n uint256 public tokenCount = 0; //total count of all added tokens\n uint256 public tokenValidCount = 0; //count of all valid tokens isValid!=false\n address public owner;\n struct Token {\n bytes16 name; // Name of the token\n bytes16 symbol; // Symbol of the token\n address addr; // Address of the token contract\n uint8 decimals; // decimals of the token\n bytes32 website; // website of the token\n bytes32 email; // support email of the token\n bool isValid; //whether the token is valid or not\n }\n mapping(uint256 => Token) public pubTokens;\n mapping(address => bool) public moderator;\n mapping(address => uint256) public idMap;\n modifier owner_only() {\n require(owner == msg.sender, \"only owner\");\n _;\n }\n modifier only_mod() {\n require(\n owner == msg.sender || moderator[msg.sender] == true,\n \"only moderetor\"\n );\n _;\n }\n modifier only_contract(address addr) {\n uint32 size;\n assembly {\n size := extcodesize(addr)\n }\n require(size > 0, \"Not a contract\");\n _;\n }\n modifier no_null(address addr) {\n require(addr != address(0), \"invalid address\");\n _;\n }\n\n constructor() public {\n owner = msg.sender;\n }\n\n function addModerator(address addr) public owner_only {\n moderator[addr] = true;\n }\n\n function removeModerator(address addr) public owner_only {\n moderator[addr] = false;\n }\n\n function loadTokensFromContract(address addr, uint256 from, uint256 amount)\n public\n owner_only\n {\n PublicTokens pubT = PublicTokens(addr);\n for (uint256 i = from; i < (from + amount); i++) {\n Token memory token;\n (\n token.name,\n token.symbol,\n token.addr,\n token.decimals,\n token.website,\n token.email,\n token.isValid\n ) = pubT.pubTokens(i);\n addSetToken(\n token.name,\n token.symbol,\n token.addr,\n token.decimals,\n token.website,\n token.email\n );\n }\n }\n\n function addSetToken(\n bytes16 name,\n bytes16 symbol,\n address addr,\n uint8 decimals,\n bytes32 website,\n bytes32 email\n ) public only_mod no_null(addr) only_contract(addr) {\n Token storage token = pubTokens[idMap[addr]];\n if (token.addr == address(0)) {\n tokenCount++;\n tokenValidCount++;\n token = pubTokens[tokenCount];\n idMap[addr] = tokenCount;\n token.isValid = true;\n }\n token.name = name;\n token.symbol = symbol;\n token.addr = addr;\n token.decimals = decimals;\n token.website = website;\n token.email = email;\n }\n\n function disableToken(address addr) public only_mod no_null(addr) {\n Token storage token = pubTokens[idMap[addr]];\n if (token.addr == addr) {\n token.isValid = false;\n tokenValidCount--;\n }\n }\n\n function enableToken(address addr) public only_mod no_null(addr) {\n Token storage token = pubTokens[idMap[addr]];\n if (token.addr == addr) {\n token.isValid = true;\n tokenValidCount++;\n }\n }\n\n function getToken(address addr)\n public\n view\n returns (bytes16, bytes16, address, uint8, bytes32, bytes32)\n {\n Token memory token = pubTokens[idMap[addr]];\n return (\n token.name,\n token.symbol,\n token.addr,\n token.decimals,\n token.website,\n token.email\n );\n }\n\n function getTokenById(uint256 id)\n public\n view\n returns (bytes16, bytes16, address, uint8, bytes32, bytes32)\n {\n Token memory token = pubTokens[id];\n return (\n token.name,\n token.symbol,\n token.addr,\n token.decimals,\n token.website,\n token.email\n );\n }\n}\n", "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol", "ast": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol", "exportedSymbols": { "PublicTokens": [ - 2030 + 1835 ] }, - "id": 2031, + "id": 1836, "nodeType": "SourceUnit", "nodes": [ { - "id": 1579, + "id": 1378, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:23:9" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2030, + "id": 1835, "linearizedBaseContracts": [ - 2030 + 1835 ], "name": "PublicTokens", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 1582, + "functionSelector": "9f181b5e", + "id": 1381, "name": "tokenCount", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "53:26:9", + "overrides": null, + "scope": 1835, + "src": "54:29:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -376,10 +392,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1580, - "name": "uint", + "id": 1379, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "53:4:9", + "src": "54:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -388,14 +404,14 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 1581, + "id": 1380, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "78:1:9", + "src": "82:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -407,11 +423,13 @@ }, { "constant": false, - "id": 1585, + "functionSelector": "a593f0ba", + "id": 1384, "name": "tokenValidCount", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "119:31:9", + "overrides": null, + "scope": 1835, + "src": "123:34:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -419,10 +437,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1583, - "name": "uint", + "id": 1382, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "119:4:9", + "src": "123:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -431,14 +449,14 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 1584, + "id": 1383, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "149:1:9", + "src": "156:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -450,11 +468,13 @@ }, { "constant": false, - "id": 1587, + "functionSelector": "8da5cb5b", + "id": 1386, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "199:20:9", + "overrides": null, + "scope": 1835, + "src": "206:20:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -462,10 +482,11 @@ "typeString": "address" }, "typeName": { - "id": 1586, + "id": 1385, "name": "address", "nodeType": "ElementaryTypeName", - "src": "199:7:9", + "src": "206:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -476,15 +497,16 @@ }, { "canonicalName": "PublicTokens.Token", - "id": 1602, + "id": 1401, "members": [ { "constant": false, - "id": 1589, + "id": 1388, "name": "name", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "248:12:9", + "overrides": null, + "scope": 1401, + "src": "255:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -492,10 +514,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1588, + "id": 1387, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "248:7:9", + "src": "255:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -506,11 +528,12 @@ }, { "constant": false, - "id": 1591, + "id": 1390, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "291:14:9", + "overrides": null, + "scope": 1401, + "src": "298:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -518,10 +541,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1590, + "id": 1389, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "291:7:9", + "src": "298:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -532,11 +555,12 @@ }, { "constant": false, - "id": 1593, + "id": 1392, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "339:12:9", + "overrides": null, + "scope": 1401, + "src": "345:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -544,10 +568,11 @@ "typeString": "address" }, "typeName": { - "id": 1592, + "id": 1391, "name": "address", "nodeType": "ElementaryTypeName", - "src": "339:7:9", + "src": "345:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -558,11 +583,12 @@ }, { "constant": false, - "id": 1595, + "id": 1394, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "394:14:9", + "overrides": null, + "scope": 1401, + "src": "400:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -570,10 +596,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1594, + "id": 1393, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "394:5:9", + "src": "400:5:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -584,11 +610,12 @@ }, { "constant": false, - "id": 1597, + "id": 1396, "name": "website", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "443:15:9", + "overrides": null, + "scope": 1401, + "src": "449:15:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -596,10 +623,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1596, + "id": 1395, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "443:7:9", + "src": "449:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -610,11 +637,12 @@ }, { "constant": false, - "id": 1599, + "id": 1398, "name": "email", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "494:13:9", + "overrides": null, + "scope": 1401, + "src": "498:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -622,10 +650,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1598, + "id": 1397, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "494:7:9", + "src": "498:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -636,11 +664,12 @@ }, { "constant": false, - "id": 1601, + "id": 1400, "name": "isValid", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "547:12:9", + "overrides": null, + "scope": 1401, + "src": "551:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -648,10 +677,10 @@ "typeString": "bool" }, "typeName": { - "id": 1600, + "id": 1399, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "547:4:9", + "src": "551:4:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -663,50 +692,52 @@ ], "name": "Token", "nodeType": "StructDefinition", - "scope": 2030, - "src": "225:377:9", + "scope": 1835, + "src": "232:374:9", "visibility": "public" }, { "constant": false, - "id": 1606, + "functionSelector": "1f85eb3f", + "id": 1405, "name": "pubTokens", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "607:39:9", + "overrides": null, + "scope": 1835, + "src": "611:42:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token)" }, "typeName": { - "id": 1605, + "id": 1404, "keyType": { - "id": 1603, - "name": "uint", + "id": 1402, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "615:4:9", + "src": "619:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "607:22:9", + "src": "611:25:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token)" }, "valueType": { "contractScope": null, - "id": 1604, + "id": 1403, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "623:5:9", + "referencedDeclaration": 1401, + "src": "630:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } } @@ -716,11 +747,13 @@ }, { "constant": false, - "id": 1610, + "functionSelector": "b1bed4f5", + "id": 1409, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "652:41:9", + "overrides": null, + "scope": 1835, + "src": "659:41:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -728,28 +761,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1609, + "id": 1408, "keyType": { - "id": 1607, + "id": 1406, "name": "address", "nodeType": "ElementaryTypeName", - "src": "660:7:9", + "src": "667:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "652:24:9", + "src": "659:24:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1608, + "id": 1407, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "671:4:9", + "src": "678:4:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -761,11 +794,13 @@ }, { "constant": false, - "id": 1614, + "functionSelector": "6b941e10", + "id": 1413, "name": "idMap", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "699:37:9", + "overrides": null, + "scope": 1835, + "src": "706:40:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -773,28 +808,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1613, + "id": 1412, "keyType": { - "id": 1611, + "id": 1410, "name": "address", "nodeType": "ElementaryTypeName", - "src": "707:7:9", + "src": "714:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "699:24:9", + "src": "706:27:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1612, - "name": "uint", + "id": 1411, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "718:4:9", + "src": "725:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -806,9 +841,9 @@ }, { "body": { - "id": 1625, + "id": 1424, "nodeType": "Block", - "src": "764:70:9", + "src": "774:70:9", "statements": [ { "expression": { @@ -820,19 +855,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1620, + "id": 1419, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1617, + "id": 1416, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1587, - "src": "782:5:9", + "referencedDeclaration": 1386, + "src": "792:5:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -844,18 +879,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1618, + "id": 1417, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "791:3:9", + "referencedDeclaration": -15, + "src": "801:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1619, + "id": 1418, "isConstant": false, "isLValue": false, "isPure": false, @@ -863,13 +898,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "791:10:9", + "src": "801:10:9", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "782:19:9", + "src": "792:19:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -878,14 +913,14 @@ { "argumentTypes": null, "hexValue": "6f6e6c79206f776e6572", - "id": 1621, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "803:12:9", + "src": "813:12:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ae2932905fc5bb055d2e7b29311075afd0dbf688106cf649cb515d342f4c7367", @@ -905,21 +940,21 @@ "typeString": "literal_string \"only owner\"" } ], - "id": 1616, + "id": 1415, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2460, - 2461 + -18, + -18 ], - "referencedDeclaration": 2461, - "src": "774:7:9", + "referencedDeclaration": -18, + "src": "784:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1622, + "id": 1421, "isConstant": false, "isLValue": false, "isPure": false, @@ -927,41 +962,44 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "774:42:9", + "src": "784:42:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1623, + "id": 1422, "nodeType": "ExpressionStatement", - "src": "774:42:9" + "src": "784:42:9" }, { - "id": 1624, + "id": 1423, "nodeType": "PlaceholderStatement", - "src": "826:1:9" + "src": "836:1:9" } ] }, "documentation": null, - "id": 1626, + "id": 1425, "name": "owner_only", "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { - "id": 1615, + "id": 1414, "nodeType": "ParameterList", "parameters": [], - "src": "761:2:9" + "src": "771:2:9" }, - "src": "742:92:9", + "src": "752:92:9", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1644, + "id": 1443, "nodeType": "Block", - "src": "859:107:9", + "src": "869:141:9", "statements": [ { "expression": { @@ -973,7 +1011,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1639, + "id": 1438, "isConstant": false, "isLValue": false, "isPure": false, @@ -984,19 +1022,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1632, + "id": 1431, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1629, + "id": 1428, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1587, - "src": "877:5:9", + "referencedDeclaration": 1386, + "src": "900:5:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1008,18 +1046,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1630, + "id": 1429, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "886:3:9", + "referencedDeclaration": -15, + "src": "909:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1631, + "id": 1430, "isConstant": false, "isLValue": false, "isPure": false, @@ -1027,13 +1065,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "886:10:9", + "src": "909:10:9", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "877:19:9", + "src": "900:19:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1047,7 +1085,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1638, + "id": 1437, "isConstant": false, "isLValue": false, "isPure": false, @@ -1056,34 +1094,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1633, + "id": 1432, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1610, - "src": "900:9:9", + "referencedDeclaration": 1409, + "src": "923:9:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1636, + "id": 1435, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1634, + "id": 1433, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "910:3:9", + "referencedDeclaration": -15, + "src": "933:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1635, + "id": 1434, "isConstant": false, "isLValue": false, "isPure": false, @@ -1091,10 +1129,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "910:10:9", + "src": "933:10:9", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -1102,7 +1140,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "900:21:9", + "src": "923:21:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1113,14 +1151,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "74727565", - "id": 1637, + "id": 1436, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "925:4:9", + "src": "948:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1128,13 +1166,13 @@ }, "value": "true" }, - "src": "900:29:9", + "src": "923:29:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "877:52:9", + "src": "900:52:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1143,14 +1181,14 @@ { "argumentTypes": null, "hexValue": "6f6e6c79206d6f64657265746f72", - "id": 1640, + "id": 1439, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "931:16:9", + "src": "966:16:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d98498961cd2e79cfd28c05b483ae7b33e4e8ec9cdd62529be1091cec63bf231", @@ -1170,21 +1208,21 @@ "typeString": "literal_string \"only moderetor\"" } ], - "id": 1628, + "id": 1427, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2460, - 2461 + -18, + -18 ], - "referencedDeclaration": 2461, - "src": "869:7:9", + "referencedDeclaration": -18, + "src": "879:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1641, + "id": 1440, "isConstant": false, "isLValue": false, "isPure": false, @@ -1192,52 +1230,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "869:79:9", + "src": "879:113:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1642, + "id": 1441, "nodeType": "ExpressionStatement", - "src": "869:79:9" + "src": "879:113:9" }, { - "id": 1643, + "id": 1442, "nodeType": "PlaceholderStatement", - "src": "958:1:9" + "src": "1002:1:9" } ] }, "documentation": null, - "id": 1645, + "id": 1444, "name": "only_mod", "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { - "id": 1627, + "id": 1426, "nodeType": "ParameterList", "parameters": [], - "src": "856:2:9" + "src": "866:2:9" }, - "src": "839:127:9", + "src": "849:161:9", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1661, + "id": 1460, "nodeType": "Block", - "src": "1008:151:9", + "src": "1052:151:9", "statements": [ { - "assignments": [], + "assignments": [ + 1449 + ], "declarations": [ { "constant": false, - "id": 1650, + "id": 1449, "name": "size", "nodeType": "VariableDeclaration", - "scope": 1662, - "src": "1018:11:9", + "overrides": null, + "scope": 1460, + "src": "1062:11:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1245,10 +1289,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1649, + "id": 1448, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1018:6:9", + "src": "1062:6:9", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1258,36 +1302,65 @@ "visibility": "internal" } ], - "id": 1651, + "id": 1450, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "1018:11:9" + "src": "1062:11:9" }, { + "AST": { + "nodeType": "YulBlock", + "src": "1092:49:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1106:25:9", + "value": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "1126:4:9" + } + ], + "functionName": { + "name": "extcodesize", + "nodeType": "YulIdentifier", + "src": "1114:11:9" + }, + "nodeType": "YulFunctionCall", + "src": "1114:17:9" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1106:4:9" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "size": { - "declaration": 1650, - "isOffset": false, - "isSlot": false, - "src": "1062:4:9", - "valueSize": 1 - } + "declaration": 1446, + "isOffset": false, + "isSlot": false, + "src": "1126:4:9", + "valueSize": 1 }, { - "addr": { - "declaration": 1647, - "isOffset": false, - "isSlot": false, - "src": "1082:4:9", - "valueSize": 1 - } + "declaration": 1449, + "isOffset": false, + "isSlot": false, + "src": "1106:4:9", + "valueSize": 1 } ], - "id": 1652, + "id": 1451, "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(addr)\n}", - "src": "1039:74:9" + "src": "1083:58:9" }, { "expression": { @@ -1299,19 +1372,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1656, + "id": 1455, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1654, + "id": 1453, "name": "size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1650, - "src": "1114:4:9", + "referencedDeclaration": 1449, + "src": "1158:4:9", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1322,14 +1395,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1655, + "id": 1454, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1121:1:9", + "src": "1165:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1337,7 +1410,7 @@ }, "value": "0" }, - "src": "1114:8:9", + "src": "1158:8:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1346,14 +1419,14 @@ { "argumentTypes": null, "hexValue": "4e6f74206120636f6e7472616374", - "id": 1657, + "id": 1456, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1124:16:9", + "src": "1168:16:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a7125e02b15b9624893e22fc887adf7b442cd1c1f4fc92da8a28be0486c1faa3", @@ -1373,21 +1446,21 @@ "typeString": "literal_string \"Not a contract\"" } ], - "id": 1653, + "id": 1452, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2460, - 2461 + -18, + -18 ], - "referencedDeclaration": 2461, - "src": "1106:7:9", + "referencedDeclaration": -18, + "src": "1150:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1658, + "id": 1457, "isConstant": false, "isLValue": false, "isPure": false, @@ -1395,38 +1468,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1106:35:9", + "src": "1150:35:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1659, + "id": 1458, "nodeType": "ExpressionStatement", - "src": "1106:35:9" + "src": "1150:35:9" }, { - "id": 1660, + "id": 1459, "nodeType": "PlaceholderStatement", - "src": "1151:1:9" + "src": "1195:1:9" } ] }, "documentation": null, - "id": 1662, + "id": 1461, "name": "only_contract", "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { - "id": 1648, + "id": 1447, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1647, + "id": 1446, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1662, - "src": "994:12:9", + "overrides": null, + "scope": 1461, + "src": "1038:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1434,10 +1510,11 @@ "typeString": "address" }, "typeName": { - "id": 1646, + "id": 1445, "name": "address", "nodeType": "ElementaryTypeName", - "src": "994:7:9", + "src": "1038:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1447,16 +1524,17 @@ "visibility": "internal" } ], - "src": "993:14:9" + "src": "1037:14:9" }, - "src": "971:188:9", + "src": "1015:188:9", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1674, + "id": 1476, "nodeType": "Block", - "src": "1195:67:9", + "src": "1239:74:9", "statements": [ { "expression": { @@ -1468,19 +1546,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1669, + "id": 1471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1667, + "id": 1466, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1664, - "src": "1213:4:9", + "referencedDeclaration": 1463, + "src": "1257:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1490,23 +1568,71 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "hexValue": "307830", - "id": 1668, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:1:9", + "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": 1468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1265:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1467, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1265:7:9", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1470, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "Literal", - "src": "1221:3:9", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "1265:10:9", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } }, - "src": "1213:11:9", + "src": "1257:18:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1515,14 +1641,14 @@ { "argumentTypes": null, "hexValue": "696e76616c69642061646472657373", - "id": 1670, + "id": 1472, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1226:17:9", + "src": "1277:17:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_74932fd68ec16402237b05adf133daec827d0040b277e283234f2f607c023225", @@ -1542,21 +1668,21 @@ "typeString": "literal_string \"invalid address\"" } ], - "id": 1666, + "id": 1465, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2460, - 2461 + -18, + -18 ], - "referencedDeclaration": 2461, - "src": "1205:7:9", + "referencedDeclaration": -18, + "src": "1249:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1671, + "id": 1473, "isConstant": false, "isLValue": false, "isPure": false, @@ -1564,38 +1690,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1205:39:9", + "src": "1249:46:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1672, + "id": 1474, "nodeType": "ExpressionStatement", - "src": "1205:39:9" + "src": "1249:46:9" }, { - "id": 1673, + "id": 1475, "nodeType": "PlaceholderStatement", - "src": "1254:1:9" + "src": "1305:1:9" } ] }, "documentation": null, - "id": 1675, + "id": 1477, "name": "no_null", "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { - "id": 1665, + "id": 1464, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1664, + "id": 1463, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1675, - "src": "1181:12:9", + "overrides": null, + "scope": 1477, + "src": "1225:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1603,10 +1732,11 @@ "typeString": "address" }, "typeName": { - "id": 1663, + "id": 1462, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1181:7:9", + "src": "1225:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1616,33 +1746,34 @@ "visibility": "internal" } ], - "src": "1180:14:9" + "src": "1224:14:9" }, - "src": "1164:98:9", + "src": "1208:105:9", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1683, + "id": 1485, "nodeType": "Block", - "src": "1289:35:9", + "src": "1340:35:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1681, + "id": 1483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1678, + "id": 1480, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1587, - "src": "1299:5:9", + "referencedDeclaration": 1386, + "src": "1350:5:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1654,18 +1785,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1679, + "id": 1481, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "1307:3:9", + "referencedDeclaration": -15, + "src": "1358:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1680, + "id": 1482, "isConstant": false, "isLValue": false, "isPure": false, @@ -1673,61 +1804,60 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1307:10:9", + "src": "1358:10:9", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "1299:18:9", + "src": "1350:18:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1682, + "id": 1484, "nodeType": "ExpressionStatement", - "src": "1299:18:9" + "src": "1350:18:9" } ] }, "documentation": null, - "id": 1684, + "id": 1486, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1676, + "id": 1478, "nodeType": "ParameterList", "parameters": [], - "src": "1279:2:9" + "src": "1330:2:9" }, - "payable": false, "returnParameters": { - "id": 1677, + "id": 1479, "nodeType": "ParameterList", "parameters": [], - "src": "1289:0:9" + "src": "1340:0:9" }, - "scope": 2030, - "src": "1267:57:9", + "scope": 1835, + "src": "1319:56:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1697, + "id": 1499, "nodeType": "Block", - "src": "1383:39:9", + "src": "1435:39:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1695, + "id": 1497, "isConstant": false, "isLValue": false, "isPure": false, @@ -1736,26 +1866,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1691, + "id": 1493, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1610, - "src": "1393:9:9", + "referencedDeclaration": 1409, + "src": "1445:9:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1693, + "id": 1495, "indexExpression": { "argumentTypes": null, - "id": 1692, + "id": 1494, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1686, - "src": "1403:4:9", + "referencedDeclaration": 1488, + "src": "1455:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1766,7 +1896,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1393:15:9", + "src": "1445:15:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1777,14 +1907,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1694, + "id": 1496, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1411:4:9", + "src": "1463:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1792,57 +1922,59 @@ }, "value": "true" }, - "src": "1393:22:9", + "src": "1445:22:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1696, + "id": 1498, "nodeType": "ExpressionStatement", - "src": "1393:22:9" + "src": "1445:22:9" } ] }, "documentation": null, - "id": 1698, + "functionSelector": "b532e4cb", + "id": 1500, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1689, + "id": 1491, "modifierName": { "argumentTypes": null, - "id": 1688, + "id": 1490, "name": "owner_only", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "1372:10:9", + "referencedDeclaration": 1425, + "src": "1424:10:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1372:10:9" + "src": "1424:10:9" } ], "name": "addModerator", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1687, + "id": 1489, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1686, + "id": 1488, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1698, - "src": "1351:12:9", + "overrides": null, + "scope": 1500, + "src": "1403:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1850,10 +1982,11 @@ "typeString": "address" }, "typeName": { - "id": 1685, + "id": 1487, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1351:7:9", + "src": "1403:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1863,31 +1996,30 @@ "visibility": "internal" } ], - "src": "1350:14:9" + "src": "1402:14:9" }, - "payable": false, "returnParameters": { - "id": 1690, + "id": 1492, "nodeType": "ParameterList", "parameters": [], - "src": "1383:0:9" + "src": "1435:0:9" }, - "scope": 2030, - "src": "1329:93:9", + "scope": 1835, + "src": "1381:93:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1711, + "id": 1513, "nodeType": "Block", - "src": "1484:40:9", + "src": "1537:40:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1709, + "id": 1511, "isConstant": false, "isLValue": false, "isPure": false, @@ -1896,26 +2028,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1705, + "id": 1507, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1610, - "src": "1494:9:9", + "referencedDeclaration": 1409, + "src": "1547:9:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1707, + "id": 1509, "indexExpression": { "argumentTypes": null, - "id": 1706, + "id": 1508, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1700, - "src": "1504:4:9", + "referencedDeclaration": 1502, + "src": "1557:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1926,7 +2058,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1494:15:9", + "src": "1547:15:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1937,14 +2069,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1708, + "id": 1510, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1512:5:9", + "src": "1565:5:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1952,57 +2084,59 @@ }, "value": "false" }, - "src": "1494:23:9", + "src": "1547:23:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1710, + "id": 1512, "nodeType": "ExpressionStatement", - "src": "1494:23:9" + "src": "1547:23:9" } ] }, "documentation": null, - "id": 1712, + "functionSelector": "869d785f", + "id": 1514, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1703, + "id": 1505, "modifierName": { "argumentTypes": null, - "id": 1702, + "id": 1504, "name": "owner_only", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "1473:10:9", + "referencedDeclaration": 1425, + "src": "1526:10:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1473:10:9" + "src": "1526:10:9" } ], "name": "removeModerator", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1701, + "id": 1503, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1700, + "id": 1502, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1712, - "src": "1452:12:9", + "overrides": null, + "scope": 1514, + "src": "1505:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2010,10 +2144,11 @@ "typeString": "address" }, "typeName": { - "id": 1699, + "id": 1501, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1452:7:9", + "src": "1505:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2023,54 +2158,54 @@ "visibility": "internal" } ], - "src": "1451:14:9" + "src": "1504:14:9" }, - "payable": false, "returnParameters": { - "id": 1704, + "id": 1506, "nodeType": "ParameterList", "parameters": [], - "src": "1484:0:9" + "src": "1537:0:9" }, - "scope": 2030, - "src": "1427:97:9", + "scope": 1835, + "src": "1480:97:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1784, + "id": 1586, "nodeType": "Block", - "src": "1616:388:9", + "src": "1697:630:9", "statements": [ { "assignments": [ - 1724 + 1526 ], "declarations": [ { "constant": false, - "id": 1724, + "id": 1526, "name": "pubT", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1626:17:9", + "overrides": null, + "scope": 1586, + "src": "1707:17:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2030", + "typeIdentifier": "t_contract$_PublicTokens_$1835", "typeString": "contract PublicTokens" }, "typeName": { "contractScope": null, - "id": 1723, + "id": 1525, "name": "PublicTokens", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2030, - "src": "1626:12:9", + "referencedDeclaration": 1835, + "src": "1707:12:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2030", + "typeIdentifier": "t_contract$_PublicTokens_$1835", "typeString": "contract PublicTokens" } }, @@ -2078,18 +2213,18 @@ "visibility": "internal" } ], - "id": 1728, + "id": 1530, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1726, + "id": 1528, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1714, - "src": "1659:4:9", + "referencedDeclaration": 1516, + "src": "1740:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2103,18 +2238,18 @@ "typeString": "address" } ], - "id": 1725, + "id": 1527, "name": "PublicTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2030, - "src": "1646:12:9", + "referencedDeclaration": 1835, + "src": "1727:12:9", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PublicTokens_$2030_$", + "typeIdentifier": "t_type$_t_contract$_PublicTokens_$1835_$", "typeString": "type(contract PublicTokens)" } }, - "id": 1727, + "id": 1529, "isConstant": false, "isLValue": false, "isPure": false, @@ -2122,46 +2257,50 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1646:18:9", + "src": "1727:18:9", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2030", + "typeIdentifier": "t_contract$_PublicTokens_$1835", "typeString": "contract PublicTokens" } }, "nodeType": "VariableDeclarationStatement", - "src": "1626:38:9" + "src": "1707:38:9" }, { "body": { - "id": 1782, + "id": 1584, "nodeType": "Block", - "src": "1717:281:9", + "src": "1804:517:9", "statements": [ { - "assignments": [], + "assignments": [ + 1545 + ], "declarations": [ { "constant": false, - "id": 1743, + "id": 1545, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1731:18:9", + "overrides": null, + "scope": 1584, + "src": "1818:18:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 1742, + "id": 1544, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "1731:5:9", + "referencedDeclaration": 1401, + "src": "1818:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -2169,15 +2308,15 @@ "visibility": "internal" } ], - "id": 1744, + "id": 1546, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "1731:18:9" + "src": "1818:18:9" }, { "expression": { "argumentTypes": null, - "id": 1765, + "id": 1567, "isConstant": false, "isLValue": false, "isPure": false, @@ -2189,26 +2328,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1745, + "id": 1547, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1764:5:9", + "referencedDeclaration": 1545, + "src": "1868:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1747, + "id": 1549, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "1764:10:9", + "referencedDeclaration": 1388, + "src": "1868:10:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -2218,26 +2357,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1748, + "id": 1550, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1776:5:9", + "referencedDeclaration": 1545, + "src": "1896:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1749, + "id": 1551, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 1591, - "src": "1776:12:9", + "referencedDeclaration": 1390, + "src": "1896:12:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -2247,26 +2386,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1750, + "id": 1552, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1790:5:9", + "referencedDeclaration": 1545, + "src": "1926:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1751, + "id": 1553, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "1790:10:9", + "referencedDeclaration": 1392, + "src": "1926:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2276,26 +2415,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1752, + "id": 1554, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1802:5:9", + "referencedDeclaration": 1545, + "src": "1954:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1753, + "id": 1555, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1595, - "src": "1802:14:9", + "referencedDeclaration": 1394, + "src": "1954:14:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2305,26 +2444,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1754, + "id": 1556, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1818:5:9", + "referencedDeclaration": 1545, + "src": "1986:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1755, + "id": 1557, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 1597, - "src": "1818:13:9", + "referencedDeclaration": 1396, + "src": "1986:13:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2334,26 +2473,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1756, + "id": 1558, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1833:5:9", + "referencedDeclaration": 1545, + "src": "2017:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1757, + "id": 1559, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, - "src": "1833:11:9", + "referencedDeclaration": 1398, + "src": "2017:11:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2363,40 +2502,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1758, + "id": 1560, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1846:5:9", + "referencedDeclaration": 1545, + "src": "2046:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1759, + "id": 1561, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isValid", "nodeType": "MemberAccess", - "referencedDeclaration": 1601, - "src": "1846:13:9", + "referencedDeclaration": 1400, + "src": "2046:13:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 1760, + "id": 1562, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "1763:97:9", + "src": "1850:223:9", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" @@ -2409,12 +2548,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1763, + "id": 1565, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1730, - "src": "1878:1:9", + "referencedDeclaration": 1532, + "src": "2091:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2430,32 +2569,32 @@ ], "expression": { "argumentTypes": null, - "id": 1761, + "id": 1563, "name": "pubT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1724, - "src": "1863:4:9", + "referencedDeclaration": 1526, + "src": "2076:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2030", + "typeIdentifier": "t_contract$_PublicTokens_$1835", "typeString": "contract PublicTokens" } }, - "id": 1762, + "id": 1564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pubTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 1606, - "src": "1863:14:9", + "referencedDeclaration": 1405, + "src": "2076:14:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", "typeString": "function (uint256) view external returns (bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" } }, - "id": 1764, + "id": 1566, "isConstant": false, "isLValue": false, "isPure": false, @@ -2463,21 +2602,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1863:17:9", + "src": "2076:17:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" } }, - "src": "1763:117:9", + "src": "1850:243:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1766, + "id": 1568, "nodeType": "ExpressionStatement", - "src": "1763:117:9" + "src": "1850:243:9" }, { "expression": { @@ -2487,26 +2627,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1768, + "id": 1570, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1906:5:9", + "referencedDeclaration": 1545, + "src": "2136:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1769, + "id": 1571, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "1906:10:9", + "referencedDeclaration": 1388, + "src": "2136:10:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -2516,26 +2656,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1770, + "id": 1572, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1918:5:9", + "referencedDeclaration": 1545, + "src": "2164:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1771, + "id": 1573, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 1591, - "src": "1918:12:9", + "referencedDeclaration": 1390, + "src": "2164:12:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -2545,26 +2685,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1772, + "id": 1574, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1932:5:9", + "referencedDeclaration": 1545, + "src": "2194:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1773, + "id": 1575, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "1932:10:9", + "referencedDeclaration": 1392, + "src": "2194:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2574,26 +2714,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1774, + "id": 1576, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1944:5:9", + "referencedDeclaration": 1545, + "src": "2222:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1775, + "id": 1577, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1595, - "src": "1944:14:9", + "referencedDeclaration": 1394, + "src": "2222:14:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2603,26 +2743,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1776, + "id": 1578, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1960:5:9", + "referencedDeclaration": 1545, + "src": "2254:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1777, + "id": 1579, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 1597, - "src": "1960:13:9", + "referencedDeclaration": 1396, + "src": "2254:13:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2632,26 +2772,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1778, + "id": 1580, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1975:5:9", + "referencedDeclaration": 1545, + "src": "2285:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1779, + "id": 1581, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, - "src": "1975:11:9", + "referencedDeclaration": 1398, + "src": "2285:11:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2685,18 +2825,18 @@ "typeString": "bytes32" } ], - "id": 1767, + "id": 1569, "name": "addSetToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1883, - "src": "1894:11:9", + "referencedDeclaration": 1688, + "src": "2107:11:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes16,bytes16,address,uint8,bytes32,bytes32)" } }, - "id": 1780, + "id": 1582, "isConstant": false, "isLValue": false, "isPure": false, @@ -2704,15 +2844,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1894:93:9", + "src": "2107:203:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1781, + "id": 1583, "nodeType": "ExpressionStatement", - "src": "1894:93:9" + "src": "2107:203:9" } ] }, @@ -2722,19 +2863,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1738, + "id": 1540, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1733, + "id": 1535, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1730, - "src": "1693:1:9", + "referencedDeclaration": 1532, + "src": "1778:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2751,19 +2892,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1736, + "id": 1538, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1734, + "id": 1536, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1716, - "src": "1698:4:9", + "referencedDeclaration": 1518, + "src": "1783:4:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2773,56 +2914,57 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1735, + "id": 1537, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1718, - "src": "1703:6:9", + "referencedDeclaration": 1520, + "src": "1790:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1698:11:9", + "src": "1783:13:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1737, + "id": 1539, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1697:13:9", + "src": "1782:15:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1693:17:9", + "src": "1778:19:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1783, + "id": 1585, "initializationExpression": { "assignments": [ - 1730 + 1532 ], "declarations": [ { "constant": false, - "id": 1730, + "id": 1532, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1678:6:9", + "overrides": null, + "scope": 1585, + "src": "1760:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2830,10 +2972,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1729, - "name": "uint", + "id": 1531, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1678:4:9", + "src": "1760:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2843,27 +2985,27 @@ "visibility": "internal" } ], - "id": 1732, + "id": 1534, "initialValue": { "argumentTypes": null, - "id": 1731, + "id": 1533, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1716, - "src": "1687:4:9", + "referencedDeclaration": 1518, + "src": "1772:4:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1678:13:9" + "src": "1760:16:9" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 1740, + "id": 1542, "isConstant": false, "isLValue": false, "isPure": false, @@ -2871,15 +3013,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1712:3:9", + "src": "1799:3:9", "subExpression": { "argumentTypes": null, - "id": 1739, + "id": 1541, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1730, - "src": "1712:1:9", + "referencedDeclaration": 1532, + "src": "1799:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2890,54 +3032,56 @@ "typeString": "uint256" } }, - "id": 1741, + "id": 1543, "nodeType": "ExpressionStatement", - "src": "1712:3:9" + "src": "1799:3:9" }, "nodeType": "ForStatement", - "src": "1674:324:9" + "src": "1755:566:9" } ] }, "documentation": null, - "id": 1785, + "functionSelector": "dc9a4698", + "id": 1587, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1721, + "id": 1523, "modifierName": { "argumentTypes": null, - "id": 1720, + "id": 1522, "name": "owner_only", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "1606:10:9", + "referencedDeclaration": 1425, + "src": "1682:10:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1606:10:9" + "src": "1682:10:9" } ], "name": "loadTokensFromContract", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1719, + "id": 1521, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1714, + "id": 1516, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1561:12:9", + "overrides": null, + "scope": 1587, + "src": "1615:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2945,10 +3089,11 @@ "typeString": "address" }, "typeName": { - "id": 1713, + "id": 1515, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1561:7:9", + "src": "1615:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2959,11 +3104,12 @@ }, { "constant": false, - "id": 1716, + "id": 1518, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1575:9:9", + "overrides": null, + "scope": 1587, + "src": "1629:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2971,10 +3117,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1715, - "name": "uint", + "id": 1517, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1575:4:9", + "src": "1629:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2985,11 +3131,12 @@ }, { "constant": false, - "id": 1718, + "id": 1520, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1586:11:9", + "overrides": null, + "scope": 1587, + "src": "1643:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2997,10 +3144,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1717, - "name": "uint", + "id": 1519, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1586:4:9", + "src": "1643:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3010,54 +3157,54 @@ "visibility": "internal" } ], - "src": "1560:38:9" + "src": "1614:44:9" }, - "payable": false, "returnParameters": { - "id": 1722, + "id": 1524, "nodeType": "ParameterList", "parameters": [], - "src": "1616:0:9" + "src": "1697:0:9" }, - "scope": 2030, - "src": "1529:475:9", + "scope": 1835, + "src": "1583:744:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1882, + "id": 1687, "nodeType": "Block", - "src": "2226:454:9", + "src": "2550:465:9", "statements": [ { "assignments": [ - 1809 + 1611 ], "declarations": [ { "constant": false, - "id": 1809, + "id": 1611, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2236:19:9", + "overrides": null, + "scope": 1687, + "src": "2560:19:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 1808, + "id": 1610, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "2236:5:9", + "referencedDeclaration": 1401, + "src": "2560:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -3065,47 +3212,47 @@ "visibility": "internal" } ], - "id": 1815, + "id": 1617, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1810, + "id": 1612, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "2258:9:9", + "referencedDeclaration": 1405, + "src": "2582:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 1814, + "id": 1616, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1811, + "id": 1613, "name": "idMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1614, - "src": "2268:5:9", + "referencedDeclaration": 1413, + "src": "2592:5:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1813, + "id": 1615, "indexExpression": { "argumentTypes": null, - "id": 1812, + "id": 1614, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "2274:4:9", + "referencedDeclaration": 1593, + "src": "2598:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3116,7 +3263,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2268:11:9", + "src": "2592:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3127,14 +3274,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2258:22:9", + "src": "2582:22:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "2236:44:9" + "src": "2560:44:9" }, { "condition": { @@ -3143,7 +3290,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1819, + "id": 1624, "isConstant": false, "isLValue": false, "isPure": false, @@ -3152,26 +3299,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1816, + "id": 1618, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2293:5:9", + "referencedDeclaration": 1611, + "src": "2618:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1817, + "id": 1619, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "2293:10:9", + "referencedDeclaration": 1392, + "src": "2618:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3181,41 +3328,89 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "hexValue": "307830", - "id": 1818, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2640:1:9", + "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": 1621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2632:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1620, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2632:7:9", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1623, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "Literal", - "src": "2307:3:9", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "2632:10:9", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } }, - "src": "2293:17:9", + "src": "2618:24:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1845, + "id": 1650, "nodeType": "IfStatement", - "src": "2290:202:9", + "src": "2614:213:9", "trueBody": { - "id": 1844, + "id": 1649, "nodeType": "Block", - "src": "2312:180:9", + "src": "2644:183:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1821, + "id": 1626, "isConstant": false, "isLValue": false, "isPure": false, @@ -3223,15 +3418,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2326:12:9", + "src": "2658:12:9", "subExpression": { "argumentTypes": null, - "id": 1820, + "id": 1625, "name": "tokenCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1582, - "src": "2326:10:9", + "referencedDeclaration": 1381, + "src": "2658:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3242,14 +3437,14 @@ "typeString": "uint256" } }, - "id": 1822, + "id": 1627, "nodeType": "ExpressionStatement", - "src": "2326:12:9" + "src": "2658:12:9" }, { "expression": { "argumentTypes": null, - "id": 1824, + "id": 1629, "isConstant": false, "isLValue": false, "isPure": false, @@ -3257,15 +3452,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2352:17:9", + "src": "2684:17:9", "subExpression": { "argumentTypes": null, - "id": 1823, + "id": 1628, "name": "tokenValidCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1585, - "src": "2352:15:9", + "referencedDeclaration": 1384, + "src": "2684:15:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3276,28 +3471,28 @@ "typeString": "uint256" } }, - "id": 1825, + "id": 1630, "nodeType": "ExpressionStatement", - "src": "2352:17:9" + "src": "2684:17:9" }, { "expression": { "argumentTypes": null, - "id": 1830, + "id": 1635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1826, + "id": 1631, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2383:5:9", + "referencedDeclaration": 1611, + "src": "2715:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, @@ -3307,26 +3502,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1827, + "id": 1632, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "2391:9:9", + "referencedDeclaration": 1405, + "src": "2723:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 1829, + "id": 1634, "indexExpression": { "argumentTypes": null, - "id": 1828, + "id": 1633, "name": "tokenCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1582, - "src": "2401:10:9", + "referencedDeclaration": 1381, + "src": "2733:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3337,26 +3532,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2391:21:9", + "src": "2723:21:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, - "src": "2383:29:9", + "src": "2715:29:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1831, + "id": 1636, "nodeType": "ExpressionStatement", - "src": "2383:29:9" + "src": "2715:29:9" }, { "expression": { "argumentTypes": null, - "id": 1836, + "id": 1641, "isConstant": false, "isLValue": false, "isPure": false, @@ -3365,26 +3560,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1832, + "id": 1637, "name": "idMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1614, - "src": "2426:5:9", + "referencedDeclaration": 1413, + "src": "2758:5:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1834, + "id": 1639, "indexExpression": { "argumentTypes": null, - "id": 1833, + "id": 1638, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "2432:4:9", + "referencedDeclaration": 1593, + "src": "2764:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3395,7 +3590,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2426:11:9", + "src": "2758:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3405,31 +3600,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1835, + "id": 1640, "name": "tokenCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1582, - "src": "2440:10:9", + "referencedDeclaration": 1381, + "src": "2772:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2426:24:9", + "src": "2758:24:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1837, + "id": 1642, "nodeType": "ExpressionStatement", - "src": "2426:24:9" + "src": "2758:24:9" }, { "expression": { "argumentTypes": null, - "id": 1842, + "id": 1647, "isConstant": false, "isLValue": false, "isPure": false, @@ -3438,26 +3633,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1838, + "id": 1643, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2464:5:9", + "referencedDeclaration": 1611, + "src": "2796:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1840, + "id": 1645, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isValid", "nodeType": "MemberAccess", - "referencedDeclaration": 1601, - "src": "2464:13:9", + "referencedDeclaration": 1400, + "src": "2796:13:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3468,14 +3663,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1841, + "id": 1646, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2480:4:9", + "src": "2812:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3483,15 +3678,15 @@ }, "value": "true" }, - "src": "2464:20:9", + "src": "2796:20:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1843, + "id": 1648, "nodeType": "ExpressionStatement", - "src": "2464:20:9" + "src": "2796:20:9" } ] } @@ -3499,7 +3694,7 @@ { "expression": { "argumentTypes": null, - "id": 1850, + "id": 1655, "isConstant": false, "isLValue": false, "isPure": false, @@ -3508,26 +3703,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1846, + "id": 1651, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2501:5:9", + "referencedDeclaration": 1611, + "src": "2836:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1848, + "id": 1653, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "2501:10:9", + "referencedDeclaration": 1388, + "src": "2836:10:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -3537,31 +3732,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1849, + "id": 1654, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "2514:4:9", + "referencedDeclaration": 1589, + "src": "2849:4:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, - "src": "2501:17:9", + "src": "2836:17:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, - "id": 1851, + "id": 1656, "nodeType": "ExpressionStatement", - "src": "2501:17:9" + "src": "2836:17:9" }, { "expression": { "argumentTypes": null, - "id": 1856, + "id": 1661, "isConstant": false, "isLValue": false, "isPure": false, @@ -3570,26 +3765,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1852, + "id": 1657, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2528:5:9", + "referencedDeclaration": 1611, + "src": "2863:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1854, + "id": 1659, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 1591, - "src": "2528:12:9", + "referencedDeclaration": 1390, + "src": "2863:12:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -3599,31 +3794,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1855, + "id": 1660, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "2543:6:9", + "referencedDeclaration": 1591, + "src": "2878:6:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, - "src": "2528:21:9", + "src": "2863:21:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, - "id": 1857, + "id": 1662, "nodeType": "ExpressionStatement", - "src": "2528:21:9" + "src": "2863:21:9" }, { "expression": { "argumentTypes": null, - "id": 1862, + "id": 1667, "isConstant": false, "isLValue": false, "isPure": false, @@ -3632,26 +3827,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1858, + "id": 1663, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2559:5:9", + "referencedDeclaration": 1611, + "src": "2894:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1860, + "id": 1665, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "2559:10:9", + "referencedDeclaration": 1392, + "src": "2894:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3661,31 +3856,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1861, + "id": 1666, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "2572:4:9", + "referencedDeclaration": 1593, + "src": "2907:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2559:17:9", + "src": "2894:17:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1863, + "id": 1668, "nodeType": "ExpressionStatement", - "src": "2559:17:9" + "src": "2894:17:9" }, { "expression": { "argumentTypes": null, - "id": 1868, + "id": 1673, "isConstant": false, "isLValue": false, "isPure": false, @@ -3694,26 +3889,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1864, + "id": 1669, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2586:5:9", + "referencedDeclaration": 1611, + "src": "2921:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1866, + "id": 1671, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1595, - "src": "2586:14:9", + "referencedDeclaration": 1394, + "src": "2921:14:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3723,31 +3918,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1867, + "id": 1672, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "2603:8:9", + "referencedDeclaration": 1595, + "src": "2938:8:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "2586:25:9", + "src": "2921:25:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 1869, + "id": 1674, "nodeType": "ExpressionStatement", - "src": "2586:25:9" + "src": "2921:25:9" }, { "expression": { "argumentTypes": null, - "id": 1874, + "id": 1679, "isConstant": false, "isLValue": false, "isPure": false, @@ -3756,26 +3951,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1870, + "id": 1675, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2621:5:9", + "referencedDeclaration": 1611, + "src": "2956:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1872, + "id": 1677, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 1597, - "src": "2621:13:9", + "referencedDeclaration": 1396, + "src": "2956:13:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3785,31 +3980,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1873, + "id": 1678, "name": "website", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1795, - "src": "2637:7:9", + "referencedDeclaration": 1597, + "src": "2972:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "2621:23:9", + "src": "2956:23:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 1875, + "id": 1680, "nodeType": "ExpressionStatement", - "src": "2621:23:9" + "src": "2956:23:9" }, { "expression": { "argumentTypes": null, - "id": 1880, + "id": 1685, "isConstant": false, "isLValue": false, "isPure": false, @@ -3818,26 +4013,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1876, + "id": 1681, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2654:5:9", + "referencedDeclaration": 1611, + "src": "2989:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1878, + "id": 1683, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, - "src": "2654:11:9", + "referencedDeclaration": 1398, + "src": "2989:11:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3847,134 +4042,136 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1879, + "id": 1684, "name": "email", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1797, - "src": "2668:5:9", + "referencedDeclaration": 1599, + "src": "3003:5:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "2654:19:9", + "src": "2989:19:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 1881, + "id": 1686, "nodeType": "ExpressionStatement", - "src": "2654:19:9" + "src": "2989:19:9" } ] }, "documentation": null, - "id": 1883, + "functionSelector": "fae0cc19", + "id": 1688, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1800, + "id": 1602, "modifierName": { "argumentTypes": null, - "id": 1799, + "id": 1601, "name": "only_mod", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "2183:8:9", + "referencedDeclaration": 1444, + "src": "2507:8:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2183:8:9" + "src": "2507:8:9" }, { "arguments": [ { "argumentTypes": null, - "id": 1802, + "id": 1604, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "2200:4:9", + "referencedDeclaration": 1593, + "src": "2524:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 1803, + "id": 1605, "modifierName": { "argumentTypes": null, - "id": 1801, + "id": 1603, "name": "no_null", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1675, - "src": "2192:7:9", + "referencedDeclaration": 1477, + "src": "2516:7:9", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "2192:13:9" + "src": "2516:13:9" }, { "arguments": [ { "argumentTypes": null, - "id": 1805, + "id": 1607, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "2220:4:9", + "referencedDeclaration": 1593, + "src": "2544:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 1806, + "id": 1608, "modifierName": { "argumentTypes": null, - "id": 1804, + "id": 1606, "name": "only_contract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1662, - "src": "2206:13:9", + "referencedDeclaration": 1461, + "src": "2530:13:9", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "2206:19:9" + "src": "2530:19:9" } ], "name": "addSetToken", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1798, + "id": 1600, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1787, + "id": 1589, "name": "name", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2039:12:9", + "overrides": null, + "scope": 1688, + "src": "2363:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3982,10 +4179,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1786, + "id": 1588, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "2039:7:9", + "src": "2363:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -3996,11 +4193,12 @@ }, { "constant": false, - "id": 1789, + "id": 1591, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2062:14:9", + "overrides": null, + "scope": 1688, + "src": "2385:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4008,10 +4206,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1788, + "id": 1590, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "2062:7:9", + "src": "2385:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -4022,11 +4220,12 @@ }, { "constant": false, - "id": 1791, + "id": 1593, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2087:12:9", + "overrides": null, + "scope": 1688, + "src": "2409:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4034,10 +4233,11 @@ "typeString": "address" }, "typeName": { - "id": 1790, + "id": 1592, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2087:7:9", + "src": "2409:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4048,11 +4248,12 @@ }, { "constant": false, - "id": 1793, + "id": 1595, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2110:14:9", + "overrides": null, + "scope": 1688, + "src": "2431:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4060,10 +4261,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1792, + "id": 1594, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2110:5:9", + "src": "2431:5:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4074,11 +4275,12 @@ }, { "constant": false, - "id": 1795, + "id": 1597, "name": "website", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2135:15:9", + "overrides": null, + "scope": 1688, + "src": "2455:15:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4086,10 +4288,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1794, + "id": 1596, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2135:7:9", + "src": "2455:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4100,11 +4302,12 @@ }, { "constant": false, - "id": 1797, + "id": 1599, "name": "email", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2161:13:9", + "overrides": null, + "scope": 1688, + "src": "2480:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4112,10 +4315,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1796, + "id": 1598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2161:7:9", + "src": "2480:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4125,54 +4328,54 @@ "visibility": "internal" } ], - "src": "2029:146:9" + "src": "2353:146:9" }, - "payable": false, "returnParameters": { - "id": 1807, + "id": 1609, "nodeType": "ParameterList", "parameters": [], - "src": "2226:0:9" + "src": "2550:0:9" }, - "scope": 2030, - "src": "2009:671:9", + "scope": 1835, + "src": "2333:682:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1916, + "id": 1721, "nodeType": "Block", - "src": "2751:167:9", + "src": "3087:171:9", "statements": [ { "assignments": [ - 1894 + 1699 ], "declarations": [ { "constant": false, - "id": 1894, + "id": 1699, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1917, - "src": "2761:19:9", + "overrides": null, + "scope": 1721, + "src": "3097:19:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 1893, + "id": 1698, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "2761:5:9", + "referencedDeclaration": 1401, + "src": "3097:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -4180,47 +4383,47 @@ "visibility": "internal" } ], - "id": 1900, + "id": 1705, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1895, + "id": 1700, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "2783:9:9", + "referencedDeclaration": 1405, + "src": "3119:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 1899, + "id": 1704, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1896, + "id": 1701, "name": "idMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1614, - "src": "2793:5:9", + "referencedDeclaration": 1413, + "src": "3129:5:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1898, + "id": 1703, "indexExpression": { "argumentTypes": null, - "id": 1897, + "id": 1702, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1885, - "src": "2799:4:9", + "referencedDeclaration": 1690, + "src": "3135:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4231,7 +4434,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2793:11:9", + "src": "3129:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4242,14 +4445,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2783:22:9", + "src": "3119:22:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "2761:44:9" + "src": "3097:44:9" }, { "condition": { @@ -4258,7 +4461,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1904, + "id": 1709, "isConstant": false, "isLValue": false, "isPure": false, @@ -4267,26 +4470,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1901, + "id": 1706, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "2818:5:9", + "referencedDeclaration": 1699, + "src": "3155:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1902, + "id": 1707, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "2818:10:9", + "referencedDeclaration": 1392, + "src": "3155:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4296,36 +4499,36 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1903, + "id": 1708, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1885, - "src": "2832:4:9", + "referencedDeclaration": 1690, + "src": "3169:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2818:18:9", + "src": "3155:18:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1915, + "id": 1720, "nodeType": "IfStatement", - "src": "2815:97:9", + "src": "3151:101:9", "trueBody": { - "id": 1914, + "id": 1719, "nodeType": "Block", - "src": "2838:74:9", + "src": "3175:77:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1909, + "id": 1714, "isConstant": false, "isLValue": false, "isPure": false, @@ -4334,26 +4537,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1905, + "id": 1710, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "2852:5:9", + "referencedDeclaration": 1699, + "src": "3189:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1907, + "id": 1712, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isValid", "nodeType": "MemberAccess", - "referencedDeclaration": 1601, - "src": "2852:13:9", + "referencedDeclaration": 1400, + "src": "3189:13:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4364,14 +4567,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1908, + "id": 1713, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2868:5:9", + "src": "3205:5:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4379,20 +4582,20 @@ }, "value": "false" }, - "src": "2852:21:9", + "src": "3189:21:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1910, + "id": 1715, "nodeType": "ExpressionStatement", - "src": "2852:21:9" + "src": "3189:21:9" }, { "expression": { "argumentTypes": null, - "id": 1912, + "id": 1717, "isConstant": false, "isLValue": false, "isPure": false, @@ -4400,15 +4603,15 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "2887:17:9", + "src": "3224:17:9", "subExpression": { "argumentTypes": null, - "id": 1911, + "id": 1716, "name": "tokenValidCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1585, - "src": "2887:15:9", + "referencedDeclaration": 1384, + "src": "3224:15:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4419,9 +4622,9 @@ "typeString": "uint256" } }, - "id": 1913, + "id": 1718, "nodeType": "ExpressionStatement", - "src": "2887:17:9" + "src": "3224:17:9" } ] } @@ -4429,77 +4632,79 @@ ] }, "documentation": null, - "id": 1917, + "functionSelector": "23e27a64", + "id": 1722, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1888, + "id": 1693, "modifierName": { "argumentTypes": null, - "id": 1887, + "id": 1692, "name": "only_mod", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "2728:8:9", + "referencedDeclaration": 1444, + "src": "3064:8:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2728:8:9" + "src": "3064:8:9" }, { "arguments": [ { "argumentTypes": null, - "id": 1890, + "id": 1695, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1885, - "src": "2745:4:9", + "referencedDeclaration": 1690, + "src": "3081:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 1891, + "id": 1696, "modifierName": { "argumentTypes": null, - "id": 1889, + "id": 1694, "name": "no_null", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1675, - "src": "2737:7:9", + "referencedDeclaration": 1477, + "src": "3073:7:9", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "2737:13:9" + "src": "3073:13:9" } ], "name": "disableToken", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1886, + "id": 1691, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1885, + "id": 1690, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1917, - "src": "2707:12:9", + "overrides": null, + "scope": 1722, + "src": "3043:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4507,10 +4712,11 @@ "typeString": "address" }, "typeName": { - "id": 1884, + "id": 1689, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2707:7:9", + "src": "3043:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4520,54 +4726,54 @@ "visibility": "internal" } ], - "src": "2706:14:9" + "src": "3042:14:9" }, - "payable": false, "returnParameters": { - "id": 1892, + "id": 1697, "nodeType": "ParameterList", "parameters": [], - "src": "2751:0:9" + "src": "3087:0:9" }, - "scope": 2030, - "src": "2685:233:9", + "scope": 1835, + "src": "3021:237:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1950, + "id": 1755, "nodeType": "Block", - "src": "2988:166:9", + "src": "3329:170:9", "statements": [ { "assignments": [ - 1928 + 1733 ], "declarations": [ { "constant": false, - "id": 1928, + "id": 1733, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1951, - "src": "2998:19:9", + "overrides": null, + "scope": 1755, + "src": "3339:19:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 1927, + "id": 1732, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "2998:5:9", + "referencedDeclaration": 1401, + "src": "3339:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -4575,47 +4781,47 @@ "visibility": "internal" } ], - "id": 1934, + "id": 1739, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1929, + "id": 1734, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "3020:9:9", + "referencedDeclaration": 1405, + "src": "3361:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 1933, + "id": 1738, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1930, + "id": 1735, "name": "idMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1614, - "src": "3030:5:9", + "referencedDeclaration": 1413, + "src": "3371:5:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1932, + "id": 1737, "indexExpression": { "argumentTypes": null, - "id": 1931, + "id": 1736, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1919, - "src": "3036:4:9", + "referencedDeclaration": 1724, + "src": "3377:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4626,7 +4832,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3030:11:9", + "src": "3371:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4637,14 +4843,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3020:22:9", + "src": "3361:22:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "2998:44:9" + "src": "3339:44:9" }, { "condition": { @@ -4653,7 +4859,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1938, + "id": 1743, "isConstant": false, "isLValue": false, "isPure": false, @@ -4662,26 +4868,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1935, + "id": 1740, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1928, - "src": "3055:5:9", + "referencedDeclaration": 1733, + "src": "3397:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1936, + "id": 1741, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "3055:10:9", + "referencedDeclaration": 1392, + "src": "3397:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4691,36 +4897,36 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1937, + "id": 1742, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1919, - "src": "3069:4:9", + "referencedDeclaration": 1724, + "src": "3411:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3055:18:9", + "src": "3397:18:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1949, + "id": 1754, "nodeType": "IfStatement", - "src": "3052:96:9", + "src": "3393:100:9", "trueBody": { - "id": 1948, + "id": 1753, "nodeType": "Block", - "src": "3075:73:9", + "src": "3417:76:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1943, + "id": 1748, "isConstant": false, "isLValue": false, "isPure": false, @@ -4729,26 +4935,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1939, + "id": 1744, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1928, - "src": "3089:5:9", + "referencedDeclaration": 1733, + "src": "3431:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1941, + "id": 1746, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isValid", "nodeType": "MemberAccess", - "referencedDeclaration": 1601, - "src": "3089:13:9", + "referencedDeclaration": 1400, + "src": "3431:13:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4759,14 +4965,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1942, + "id": 1747, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3105:4:9", + "src": "3447:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4774,20 +4980,20 @@ }, "value": "true" }, - "src": "3089:20:9", + "src": "3431:20:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1944, + "id": 1749, "nodeType": "ExpressionStatement", - "src": "3089:20:9" + "src": "3431:20:9" }, { "expression": { "argumentTypes": null, - "id": 1946, + "id": 1751, "isConstant": false, "isLValue": false, "isPure": false, @@ -4795,15 +5001,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3123:17:9", + "src": "3465:17:9", "subExpression": { "argumentTypes": null, - "id": 1945, + "id": 1750, "name": "tokenValidCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1585, - "src": "3123:15:9", + "referencedDeclaration": 1384, + "src": "3465:15:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4814,9 +5020,9 @@ "typeString": "uint256" } }, - "id": 1947, + "id": 1752, "nodeType": "ExpressionStatement", - "src": "3123:17:9" + "src": "3465:17:9" } ] } @@ -4824,77 +5030,79 @@ ] }, "documentation": null, - "id": 1951, + "functionSelector": "c690908a", + "id": 1756, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1922, + "id": 1727, "modifierName": { "argumentTypes": null, - "id": 1921, + "id": 1726, "name": "only_mod", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "2965:8:9", + "referencedDeclaration": 1444, + "src": "3306:8:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2965:8:9" + "src": "3306:8:9" }, { "arguments": [ { "argumentTypes": null, - "id": 1924, + "id": 1729, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1919, - "src": "2982:4:9", + "referencedDeclaration": 1724, + "src": "3323:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 1925, + "id": 1730, "modifierName": { "argumentTypes": null, - "id": 1923, + "id": 1728, "name": "no_null", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1675, - "src": "2974:7:9", + "referencedDeclaration": 1477, + "src": "3315:7:9", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "2974:13:9" + "src": "3315:13:9" } ], "name": "enableToken", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1920, + "id": 1725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1919, + "id": 1724, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1951, - "src": "2944:12:9", + "overrides": null, + "scope": 1756, + "src": "3285:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4902,10 +5110,11 @@ "typeString": "address" }, "typeName": { - "id": 1918, + "id": 1723, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2944:7:9", + "src": "3285:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4915,54 +5124,54 @@ "visibility": "internal" } ], - "src": "2943:14:9" + "src": "3284:14:9" }, - "payable": false, "returnParameters": { - "id": 1926, + "id": 1731, "nodeType": "ParameterList", "parameters": [], - "src": "2988:0:9" + "src": "3329:0:9" }, - "scope": 2030, - "src": "2923:231:9", + "scope": 1835, + "src": "3264:235:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1990, + "id": 1795, "nodeType": "Block", - "src": "3300:217:9", + "src": "3638:241:9", "statements": [ { "assignments": [ - 1969 + 1774 ], "declarations": [ { "constant": false, - "id": 1969, + "id": 1774, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3310:18:9", + "overrides": null, + "scope": 1795, + "src": "3648:18:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 1968, + "id": 1773, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "3310:5:9", + "referencedDeclaration": 1401, + "src": "3648:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -4970,47 +5179,47 @@ "visibility": "internal" } ], - "id": 1975, + "id": 1780, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1970, + "id": 1775, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "3331:9:9", + "referencedDeclaration": 1405, + "src": "3669:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 1974, + "id": 1779, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1971, + "id": 1776, "name": "idMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1614, - "src": "3341:5:9", + "referencedDeclaration": 1413, + "src": "3679:5:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1973, + "id": 1778, "indexExpression": { "argumentTypes": null, - "id": 1972, + "id": 1777, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1953, - "src": "3347:4:9", + "referencedDeclaration": 1758, + "src": "3685:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5021,7 +5230,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3341:11:9", + "src": "3679:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5032,14 +5241,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3331:22:9", + "src": "3669:22:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "3310:43:9" + "src": "3648:43:9" }, { "expression": { @@ -5049,26 +5258,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1976, + "id": 1781, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3381:5:9", + "referencedDeclaration": 1774, + "src": "3722:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1977, + "id": 1782, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "3381:10:9", + "referencedDeclaration": 1388, + "src": "3722:10:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -5078,26 +5287,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1978, + "id": 1783, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3402:5:9", + "referencedDeclaration": 1774, + "src": "3746:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1979, + "id": 1784, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 1591, - "src": "3402:12:9", + "referencedDeclaration": 1390, + "src": "3746:12:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -5107,26 +5316,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1980, + "id": 1785, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3425:5:9", + "referencedDeclaration": 1774, + "src": "3772:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1981, + "id": 1786, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "3425:10:9", + "referencedDeclaration": 1392, + "src": "3772:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5136,26 +5345,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1982, + "id": 1787, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3446:5:9", + "referencedDeclaration": 1774, + "src": "3796:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1983, + "id": 1788, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1595, - "src": "3446:14:9", + "referencedDeclaration": 1394, + "src": "3796:14:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5165,26 +5374,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1984, + "id": 1789, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3471:5:9", + "referencedDeclaration": 1774, + "src": "3824:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1985, + "id": 1790, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 1597, - "src": "3471:13:9", + "referencedDeclaration": 1396, + "src": "3824:13:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5194,71 +5403,73 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1986, + "id": 1791, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3498:5:9", + "referencedDeclaration": 1774, + "src": "3851:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1987, + "id": 1792, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, - "src": "3498:11:9", + "referencedDeclaration": 1398, + "src": "3851:11:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 1988, + "id": 1793, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3370:140:9", + "src": "3708:164:9", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$", "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32)" } }, - "functionReturnParameters": 1967, - "id": 1989, + "functionReturnParameters": 1772, + "id": 1794, "nodeType": "Return", - "src": "3363:147:9" + "src": "3701:171:9" } ] }, "documentation": null, - "id": 1991, + "functionSelector": "59770438", + "id": 1796, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getToken", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1954, + "id": 1759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1953, + "id": 1758, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3177:12:9", + "overrides": null, + "scope": 1796, + "src": "3523:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5266,10 +5477,11 @@ "typeString": "address" }, "typeName": { - "id": 1952, + "id": 1757, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3177:7:9", + "src": "3523:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5279,20 +5491,20 @@ "visibility": "internal" } ], - "src": "3176:14:9" + "src": "3522:14:9" }, - "payable": false, "returnParameters": { - "id": 1967, + "id": 1772, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1956, + "id": 1761, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3218:7:9", + "overrides": null, + "scope": 1796, + "src": "3582:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5300,10 +5512,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1955, + "id": 1760, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "3218:7:9", + "src": "3582:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -5314,11 +5526,12 @@ }, { "constant": false, - "id": 1958, + "id": 1763, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3233:7:9", + "overrides": null, + "scope": 1796, + "src": "3591:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5326,10 +5539,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1957, + "id": 1762, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "3233:7:9", + "src": "3591:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -5340,11 +5553,12 @@ }, { "constant": false, - "id": 1960, + "id": 1765, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3248:7:9", + "overrides": null, + "scope": 1796, + "src": "3600:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5352,10 +5566,11 @@ "typeString": "address" }, "typeName": { - "id": 1959, + "id": 1764, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3248:7:9", + "src": "3600:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5366,11 +5581,12 @@ }, { "constant": false, - "id": 1962, + "id": 1767, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3263:5:9", + "overrides": null, + "scope": 1796, + "src": "3609:5:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5378,10 +5594,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1961, + "id": 1766, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3263:5:9", + "src": "3609:5:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5392,11 +5608,12 @@ }, { "constant": false, - "id": 1964, + "id": 1769, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3276:7:9", + "overrides": null, + "scope": 1796, + "src": "3616:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5404,10 +5621,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1963, + "id": 1768, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3276:7:9", + "src": "3616:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5418,11 +5635,12 @@ }, { "constant": false, - "id": 1966, + "id": 1771, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3291:7:9", + "overrides": null, + "scope": 1796, + "src": "3625:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5430,10 +5648,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1965, + "id": 1770, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3291:7:9", + "src": "3625:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5443,47 +5661,48 @@ "visibility": "internal" } ], - "src": "3211:88:9" + "src": "3581:52:9" }, - "scope": 2030, - "src": "3159:358:9", + "scope": 1835, + "src": "3505:374:9", "stateMutability": "view", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 2028, + "id": 1833, "nodeType": "Block", - "src": "3662:208:9", + "src": "4020:232:9", "statements": [ { "assignments": [ - 2009 + 1814 ], "declarations": [ { "constant": false, - "id": 2009, + "id": 1814, "name": "token", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3672:18:9", + "overrides": null, + "scope": 1833, + "src": "4030:18:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 2008, + "id": 1813, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "3672:5:9", + "referencedDeclaration": 1401, + "src": "4030:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -5491,31 +5710,31 @@ "visibility": "internal" } ], - "id": 2013, + "id": 1818, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2010, + "id": 1815, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "3693:9:9", + "referencedDeclaration": 1405, + "src": "4051:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 2012, + "id": 1817, "indexExpression": { "argumentTypes": null, - "id": 2011, + "id": 1816, "name": "id", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1993, - "src": "3703:2:9", + "referencedDeclaration": 1798, + "src": "4061:2:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5526,14 +5745,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3693:13:9", + "src": "4051:13:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "3672:34:9" + "src": "4030:34:9" }, { "expression": { @@ -5543,26 +5762,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2014, + "id": 1819, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3734:5:9", + "referencedDeclaration": 1814, + "src": "4095:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2015, + "id": 1820, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "3734:10:9", + "referencedDeclaration": 1388, + "src": "4095:10:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -5572,26 +5791,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2016, + "id": 1821, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3755:5:9", + "referencedDeclaration": 1814, + "src": "4119:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2017, + "id": 1822, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 1591, - "src": "3755:12:9", + "referencedDeclaration": 1390, + "src": "4119:12:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -5601,26 +5820,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2018, + "id": 1823, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3778:5:9", + "referencedDeclaration": 1814, + "src": "4145:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2019, + "id": 1824, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "3778:10:9", + "referencedDeclaration": 1392, + "src": "4145:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5630,26 +5849,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2020, + "id": 1825, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3799:5:9", + "referencedDeclaration": 1814, + "src": "4169:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2021, + "id": 1826, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1595, - "src": "3799:14:9", + "referencedDeclaration": 1394, + "src": "4169:14:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5659,26 +5878,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2022, + "id": 1827, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3824:5:9", + "referencedDeclaration": 1814, + "src": "4197:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2023, + "id": 1828, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 1597, - "src": "3824:13:9", + "referencedDeclaration": 1396, + "src": "4197:13:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5688,71 +5907,73 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2024, + "id": 1829, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3851:5:9", + "referencedDeclaration": 1814, + "src": "4224:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2025, + "id": 1830, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, - "src": "3851:11:9", + "referencedDeclaration": 1398, + "src": "4224:11:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2026, + "id": 1831, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3723:140:9", + "src": "4081:164:9", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$", "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32)" } }, - "functionReturnParameters": 2007, - "id": 2027, + "functionReturnParameters": 1812, + "id": 1832, "nodeType": "Return", - "src": "3716:147:9" + "src": "4074:171:9" } ] }, "documentation": null, - "id": 2029, + "functionSelector": "7bdc60d9", + "id": 1834, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getTokenById", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1994, + "id": 1799, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1993, + "id": 1798, "name": "id", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3544:7:9", + "overrides": null, + "scope": 1834, + "src": "3907:10:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5760,10 +5981,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1992, - "name": "uint", + "id": 1797, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3544:4:9", + "src": "3907:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5773,20 +5994,20 @@ "visibility": "internal" } ], - "src": "3543:9:9" + "src": "3906:12:9" }, - "payable": false, "returnParameters": { - "id": 2007, + "id": 1812, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1996, + "id": 1801, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3580:7:9", + "overrides": null, + "scope": 1834, + "src": "3964:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5794,10 +6015,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1995, + "id": 1800, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "3580:7:9", + "src": "3964:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -5808,11 +6029,12 @@ }, { "constant": false, - "id": 1998, + "id": 1803, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3595:7:9", + "overrides": null, + "scope": 1834, + "src": "3973:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5820,10 +6042,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1997, + "id": 1802, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "3595:7:9", + "src": "3973:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -5834,11 +6056,12 @@ }, { "constant": false, - "id": 2000, + "id": 1805, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3610:7:9", + "overrides": null, + "scope": 1834, + "src": "3982:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5846,10 +6069,11 @@ "typeString": "address" }, "typeName": { - "id": 1999, + "id": 1804, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3610:7:9", + "src": "3982:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5860,11 +6084,12 @@ }, { "constant": false, - "id": 2002, + "id": 1807, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3625:5:9", + "overrides": null, + "scope": 1834, + "src": "3991:5:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5872,10 +6097,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2001, + "id": 1806, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3625:5:9", + "src": "3991:5:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5886,11 +6111,12 @@ }, { "constant": false, - "id": 2004, + "id": 1809, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3638:7:9", + "overrides": null, + "scope": 1834, + "src": "3998:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5898,10 +6124,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2003, + "id": 1808, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3638:7:9", + "src": "3998:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5912,11 +6138,12 @@ }, { "constant": false, - "id": 2006, + "id": 1811, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3653:7:9", + "overrides": null, + "scope": 1834, + "src": "4007:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5924,10 +6151,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2005, + "id": 1810, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3653:7:9", + "src": "4007:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5937,62 +6164,65 @@ "visibility": "internal" } ], - "src": "3573:88:9" + "src": "3963:52:9" }, - "scope": 2030, - "src": "3522:348:9", + "scope": 1835, + "src": "3885:367:9", "stateMutability": "view", - "superFunction": null, + "virtual": false, "visibility": "public" } ], - "scope": 2031, - "src": "25:3847:9" + "scope": 1836, + "src": "26:4228:9" } ], - "src": "0:3872:9" + "src": "0:4255:9" }, "legacyAST": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol", "exportedSymbols": { "PublicTokens": [ - 2030 + 1835 ] }, - "id": 2031, + "id": 1836, "nodeType": "SourceUnit", "nodes": [ { - "id": 1579, + "id": 1378, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:23:9" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2030, + "id": 1835, "linearizedBaseContracts": [ - 2030 + 1835 ], "name": "PublicTokens", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 1582, + "functionSelector": "9f181b5e", + "id": 1381, "name": "tokenCount", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "53:26:9", + "overrides": null, + "scope": 1835, + "src": "54:29:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -6000,10 +6230,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1580, - "name": "uint", + "id": 1379, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "53:4:9", + "src": "54:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6012,14 +6242,14 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 1581, + "id": 1380, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "78:1:9", + "src": "82:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6031,11 +6261,13 @@ }, { "constant": false, - "id": 1585, + "functionSelector": "a593f0ba", + "id": 1384, "name": "tokenValidCount", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "119:31:9", + "overrides": null, + "scope": 1835, + "src": "123:34:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -6043,10 +6275,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1583, - "name": "uint", + "id": 1382, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "119:4:9", + "src": "123:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6055,14 +6287,14 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 1584, + "id": 1383, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "149:1:9", + "src": "156:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6074,11 +6306,13 @@ }, { "constant": false, - "id": 1587, + "functionSelector": "8da5cb5b", + "id": 1386, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "199:20:9", + "overrides": null, + "scope": 1835, + "src": "206:20:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -6086,10 +6320,11 @@ "typeString": "address" }, "typeName": { - "id": 1586, + "id": 1385, "name": "address", "nodeType": "ElementaryTypeName", - "src": "199:7:9", + "src": "206:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6100,15 +6335,16 @@ }, { "canonicalName": "PublicTokens.Token", - "id": 1602, + "id": 1401, "members": [ { "constant": false, - "id": 1589, + "id": 1388, "name": "name", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "248:12:9", + "overrides": null, + "scope": 1401, + "src": "255:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6116,10 +6352,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1588, + "id": 1387, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "248:7:9", + "src": "255:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -6130,11 +6366,12 @@ }, { "constant": false, - "id": 1591, + "id": 1390, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "291:14:9", + "overrides": null, + "scope": 1401, + "src": "298:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6142,10 +6379,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1590, + "id": 1389, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "291:7:9", + "src": "298:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -6156,11 +6393,12 @@ }, { "constant": false, - "id": 1593, + "id": 1392, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "339:12:9", + "overrides": null, + "scope": 1401, + "src": "345:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6168,10 +6406,11 @@ "typeString": "address" }, "typeName": { - "id": 1592, + "id": 1391, "name": "address", "nodeType": "ElementaryTypeName", - "src": "339:7:9", + "src": "345:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6182,11 +6421,12 @@ }, { "constant": false, - "id": 1595, + "id": 1394, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "394:14:9", + "overrides": null, + "scope": 1401, + "src": "400:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6194,10 +6434,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1594, + "id": 1393, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "394:5:9", + "src": "400:5:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6208,11 +6448,12 @@ }, { "constant": false, - "id": 1597, + "id": 1396, "name": "website", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "443:15:9", + "overrides": null, + "scope": 1401, + "src": "449:15:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6220,10 +6461,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1596, + "id": 1395, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "443:7:9", + "src": "449:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6234,11 +6475,12 @@ }, { "constant": false, - "id": 1599, + "id": 1398, "name": "email", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "494:13:9", + "overrides": null, + "scope": 1401, + "src": "498:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6246,10 +6488,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1598, + "id": 1397, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "494:7:9", + "src": "498:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6260,11 +6502,12 @@ }, { "constant": false, - "id": 1601, + "id": 1400, "name": "isValid", "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "547:12:9", + "overrides": null, + "scope": 1401, + "src": "551:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6272,10 +6515,10 @@ "typeString": "bool" }, "typeName": { - "id": 1600, + "id": 1399, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "547:4:9", + "src": "551:4:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6287,50 +6530,52 @@ ], "name": "Token", "nodeType": "StructDefinition", - "scope": 2030, - "src": "225:377:9", + "scope": 1835, + "src": "232:374:9", "visibility": "public" }, { "constant": false, - "id": 1606, + "functionSelector": "1f85eb3f", + "id": 1405, "name": "pubTokens", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "607:39:9", + "overrides": null, + "scope": 1835, + "src": "611:42:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token)" }, "typeName": { - "id": 1605, + "id": 1404, "keyType": { - "id": 1603, - "name": "uint", + "id": 1402, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "615:4:9", + "src": "619:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "607:22:9", + "src": "611:25:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token)" }, "valueType": { "contractScope": null, - "id": 1604, + "id": 1403, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "623:5:9", + "referencedDeclaration": 1401, + "src": "630:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } } @@ -6340,11 +6585,13 @@ }, { "constant": false, - "id": 1610, + "functionSelector": "b1bed4f5", + "id": 1409, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "652:41:9", + "overrides": null, + "scope": 1835, + "src": "659:41:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -6352,28 +6599,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1609, + "id": 1408, "keyType": { - "id": 1607, + "id": 1406, "name": "address", "nodeType": "ElementaryTypeName", - "src": "660:7:9", + "src": "667:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "652:24:9", + "src": "659:24:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1608, + "id": 1407, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "671:4:9", + "src": "678:4:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6385,11 +6632,13 @@ }, { "constant": false, - "id": 1614, + "functionSelector": "6b941e10", + "id": 1413, "name": "idMap", "nodeType": "VariableDeclaration", - "scope": 2030, - "src": "699:37:9", + "overrides": null, + "scope": 1835, + "src": "706:40:9", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -6397,28 +6646,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1613, + "id": 1412, "keyType": { - "id": 1611, + "id": 1410, "name": "address", "nodeType": "ElementaryTypeName", - "src": "707:7:9", + "src": "714:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "699:24:9", + "src": "706:27:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 1612, - "name": "uint", + "id": 1411, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "718:4:9", + "src": "725:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6430,9 +6679,9 @@ }, { "body": { - "id": 1625, + "id": 1424, "nodeType": "Block", - "src": "764:70:9", + "src": "774:70:9", "statements": [ { "expression": { @@ -6444,19 +6693,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1620, + "id": 1419, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1617, + "id": 1416, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1587, - "src": "782:5:9", + "referencedDeclaration": 1386, + "src": "792:5:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6468,18 +6717,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1618, + "id": 1417, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "791:3:9", + "referencedDeclaration": -15, + "src": "801:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1619, + "id": 1418, "isConstant": false, "isLValue": false, "isPure": false, @@ -6487,13 +6736,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "791:10:9", + "src": "801:10:9", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "782:19:9", + "src": "792:19:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6502,14 +6751,14 @@ { "argumentTypes": null, "hexValue": "6f6e6c79206f776e6572", - "id": 1621, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "803:12:9", + "src": "813:12:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ae2932905fc5bb055d2e7b29311075afd0dbf688106cf649cb515d342f4c7367", @@ -6529,21 +6778,21 @@ "typeString": "literal_string \"only owner\"" } ], - "id": 1616, + "id": 1415, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2460, - 2461 + -18, + -18 ], - "referencedDeclaration": 2461, - "src": "774:7:9", + "referencedDeclaration": -18, + "src": "784:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1622, + "id": 1421, "isConstant": false, "isLValue": false, "isPure": false, @@ -6551,41 +6800,44 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "774:42:9", + "src": "784:42:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1623, + "id": 1422, "nodeType": "ExpressionStatement", - "src": "774:42:9" + "src": "784:42:9" }, { - "id": 1624, + "id": 1423, "nodeType": "PlaceholderStatement", - "src": "826:1:9" + "src": "836:1:9" } ] }, "documentation": null, - "id": 1626, + "id": 1425, "name": "owner_only", "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { - "id": 1615, + "id": 1414, "nodeType": "ParameterList", "parameters": [], - "src": "761:2:9" + "src": "771:2:9" }, - "src": "742:92:9", + "src": "752:92:9", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1644, + "id": 1443, "nodeType": "Block", - "src": "859:107:9", + "src": "869:141:9", "statements": [ { "expression": { @@ -6597,7 +6849,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1639, + "id": 1438, "isConstant": false, "isLValue": false, "isPure": false, @@ -6608,19 +6860,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1632, + "id": 1431, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1629, + "id": 1428, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1587, - "src": "877:5:9", + "referencedDeclaration": 1386, + "src": "900:5:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6632,18 +6884,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1630, + "id": 1429, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "886:3:9", + "referencedDeclaration": -15, + "src": "909:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1631, + "id": 1430, "isConstant": false, "isLValue": false, "isPure": false, @@ -6651,13 +6903,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "886:10:9", + "src": "909:10:9", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "877:19:9", + "src": "900:19:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6671,7 +6923,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1638, + "id": 1437, "isConstant": false, "isLValue": false, "isPure": false, @@ -6680,34 +6932,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1633, + "id": 1432, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1610, - "src": "900:9:9", + "referencedDeclaration": 1409, + "src": "923:9:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1636, + "id": 1435, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1634, + "id": 1433, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "910:3:9", + "referencedDeclaration": -15, + "src": "933:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1635, + "id": 1434, "isConstant": false, "isLValue": false, "isPure": false, @@ -6715,10 +6967,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "910:10:9", + "src": "933:10:9", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -6726,7 +6978,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "900:21:9", + "src": "923:21:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6737,14 +6989,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "74727565", - "id": 1637, + "id": 1436, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "925:4:9", + "src": "948:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6752,13 +7004,13 @@ }, "value": "true" }, - "src": "900:29:9", + "src": "923:29:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "877:52:9", + "src": "900:52:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6767,14 +7019,14 @@ { "argumentTypes": null, "hexValue": "6f6e6c79206d6f64657265746f72", - "id": 1640, + "id": 1439, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "931:16:9", + "src": "966:16:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d98498961cd2e79cfd28c05b483ae7b33e4e8ec9cdd62529be1091cec63bf231", @@ -6794,21 +7046,21 @@ "typeString": "literal_string \"only moderetor\"" } ], - "id": 1628, + "id": 1427, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2460, - 2461 + -18, + -18 ], - "referencedDeclaration": 2461, - "src": "869:7:9", + "referencedDeclaration": -18, + "src": "879:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1641, + "id": 1440, "isConstant": false, "isLValue": false, "isPure": false, @@ -6816,52 +7068,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "869:79:9", + "src": "879:113:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1642, + "id": 1441, "nodeType": "ExpressionStatement", - "src": "869:79:9" + "src": "879:113:9" }, { - "id": 1643, + "id": 1442, "nodeType": "PlaceholderStatement", - "src": "958:1:9" + "src": "1002:1:9" } ] }, "documentation": null, - "id": 1645, + "id": 1444, "name": "only_mod", "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { - "id": 1627, + "id": 1426, "nodeType": "ParameterList", "parameters": [], - "src": "856:2:9" + "src": "866:2:9" }, - "src": "839:127:9", + "src": "849:161:9", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1661, + "id": 1460, "nodeType": "Block", - "src": "1008:151:9", + "src": "1052:151:9", "statements": [ { - "assignments": [], + "assignments": [ + 1449 + ], "declarations": [ { "constant": false, - "id": 1650, + "id": 1449, "name": "size", "nodeType": "VariableDeclaration", - "scope": 1662, - "src": "1018:11:9", + "overrides": null, + "scope": 1460, + "src": "1062:11:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6869,10 +7127,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1649, + "id": 1448, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1018:6:9", + "src": "1062:6:9", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -6882,36 +7140,65 @@ "visibility": "internal" } ], - "id": 1651, + "id": 1450, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "1018:11:9" + "src": "1062:11:9" }, { + "AST": { + "nodeType": "YulBlock", + "src": "1092:49:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1106:25:9", + "value": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "1126:4:9" + } + ], + "functionName": { + "name": "extcodesize", + "nodeType": "YulIdentifier", + "src": "1114:11:9" + }, + "nodeType": "YulFunctionCall", + "src": "1114:17:9" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1106:4:9" + } + ] + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "size": { - "declaration": 1650, - "isOffset": false, - "isSlot": false, - "src": "1062:4:9", - "valueSize": 1 - } + "declaration": 1446, + "isOffset": false, + "isSlot": false, + "src": "1126:4:9", + "valueSize": 1 }, { - "addr": { - "declaration": 1647, - "isOffset": false, - "isSlot": false, - "src": "1082:4:9", - "valueSize": 1 - } + "declaration": 1449, + "isOffset": false, + "isSlot": false, + "src": "1106:4:9", + "valueSize": 1 } ], - "id": 1652, + "id": 1451, "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(addr)\n}", - "src": "1039:74:9" + "src": "1083:58:9" }, { "expression": { @@ -6923,19 +7210,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1656, + "id": 1455, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1654, + "id": 1453, "name": "size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1650, - "src": "1114:4:9", + "referencedDeclaration": 1449, + "src": "1158:4:9", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -6946,14 +7233,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1655, + "id": 1454, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1121:1:9", + "src": "1165:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6961,7 +7248,7 @@ }, "value": "0" }, - "src": "1114:8:9", + "src": "1158:8:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6970,14 +7257,14 @@ { "argumentTypes": null, "hexValue": "4e6f74206120636f6e7472616374", - "id": 1657, + "id": 1456, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1124:16:9", + "src": "1168:16:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a7125e02b15b9624893e22fc887adf7b442cd1c1f4fc92da8a28be0486c1faa3", @@ -6997,21 +7284,21 @@ "typeString": "literal_string \"Not a contract\"" } ], - "id": 1653, + "id": 1452, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2460, - 2461 + -18, + -18 ], - "referencedDeclaration": 2461, - "src": "1106:7:9", + "referencedDeclaration": -18, + "src": "1150:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1658, + "id": 1457, "isConstant": false, "isLValue": false, "isPure": false, @@ -7019,38 +7306,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1106:35:9", + "src": "1150:35:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1659, + "id": 1458, "nodeType": "ExpressionStatement", - "src": "1106:35:9" + "src": "1150:35:9" }, { - "id": 1660, + "id": 1459, "nodeType": "PlaceholderStatement", - "src": "1151:1:9" + "src": "1195:1:9" } ] }, "documentation": null, - "id": 1662, + "id": 1461, "name": "only_contract", "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { - "id": 1648, + "id": 1447, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1647, + "id": 1446, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1662, - "src": "994:12:9", + "overrides": null, + "scope": 1461, + "src": "1038:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7058,10 +7348,11 @@ "typeString": "address" }, "typeName": { - "id": 1646, + "id": 1445, "name": "address", "nodeType": "ElementaryTypeName", - "src": "994:7:9", + "src": "1038:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7071,16 +7362,17 @@ "visibility": "internal" } ], - "src": "993:14:9" + "src": "1037:14:9" }, - "src": "971:188:9", + "src": "1015:188:9", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1674, + "id": 1476, "nodeType": "Block", - "src": "1195:67:9", + "src": "1239:74:9", "statements": [ { "expression": { @@ -7092,19 +7384,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1669, + "id": 1471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1667, + "id": 1466, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1664, - "src": "1213:4:9", + "referencedDeclaration": 1463, + "src": "1257:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7114,23 +7406,71 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "hexValue": "307830", - "id": 1668, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:1:9", + "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": 1468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1265:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1467, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1265:7:9", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1470, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "Literal", - "src": "1221:3:9", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "1265:10:9", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } }, - "src": "1213:11:9", + "src": "1257:18:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7139,14 +7479,14 @@ { "argumentTypes": null, "hexValue": "696e76616c69642061646472657373", - "id": 1670, + "id": 1472, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1226:17:9", + "src": "1277:17:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_74932fd68ec16402237b05adf133daec827d0040b277e283234f2f607c023225", @@ -7166,21 +7506,21 @@ "typeString": "literal_string \"invalid address\"" } ], - "id": 1666, + "id": 1465, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2460, - 2461 + -18, + -18 ], - "referencedDeclaration": 2461, - "src": "1205:7:9", + "referencedDeclaration": -18, + "src": "1249:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1671, + "id": 1473, "isConstant": false, "isLValue": false, "isPure": false, @@ -7188,38 +7528,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1205:39:9", + "src": "1249:46:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1672, + "id": 1474, "nodeType": "ExpressionStatement", - "src": "1205:39:9" + "src": "1249:46:9" }, { - "id": 1673, + "id": 1475, "nodeType": "PlaceholderStatement", - "src": "1254:1:9" + "src": "1305:1:9" } ] }, "documentation": null, - "id": 1675, + "id": 1477, "name": "no_null", "nodeType": "ModifierDefinition", + "overrides": null, "parameters": { - "id": 1665, + "id": 1464, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1664, + "id": 1463, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1675, - "src": "1181:12:9", + "overrides": null, + "scope": 1477, + "src": "1225:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7227,10 +7570,11 @@ "typeString": "address" }, "typeName": { - "id": 1663, + "id": 1462, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1181:7:9", + "src": "1225:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7240,33 +7584,34 @@ "visibility": "internal" } ], - "src": "1180:14:9" + "src": "1224:14:9" }, - "src": "1164:98:9", + "src": "1208:105:9", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1683, + "id": 1485, "nodeType": "Block", - "src": "1289:35:9", + "src": "1340:35:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1681, + "id": 1483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1678, + "id": 1480, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1587, - "src": "1299:5:9", + "referencedDeclaration": 1386, + "src": "1350:5:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7278,18 +7623,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1679, + "id": 1481, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "1307:3:9", + "referencedDeclaration": -15, + "src": "1358:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1680, + "id": 1482, "isConstant": false, "isLValue": false, "isPure": false, @@ -7297,61 +7642,60 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1307:10:9", + "src": "1358:10:9", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "1299:18:9", + "src": "1350:18:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1682, + "id": 1484, "nodeType": "ExpressionStatement", - "src": "1299:18:9" + "src": "1350:18:9" } ] }, "documentation": null, - "id": 1684, + "id": 1486, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1676, + "id": 1478, "nodeType": "ParameterList", "parameters": [], - "src": "1279:2:9" + "src": "1330:2:9" }, - "payable": false, "returnParameters": { - "id": 1677, + "id": 1479, "nodeType": "ParameterList", "parameters": [], - "src": "1289:0:9" + "src": "1340:0:9" }, - "scope": 2030, - "src": "1267:57:9", + "scope": 1835, + "src": "1319:56:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1697, + "id": 1499, "nodeType": "Block", - "src": "1383:39:9", + "src": "1435:39:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1695, + "id": 1497, "isConstant": false, "isLValue": false, "isPure": false, @@ -7360,26 +7704,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1691, + "id": 1493, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1610, - "src": "1393:9:9", + "referencedDeclaration": 1409, + "src": "1445:9:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1693, + "id": 1495, "indexExpression": { "argumentTypes": null, - "id": 1692, + "id": 1494, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1686, - "src": "1403:4:9", + "referencedDeclaration": 1488, + "src": "1455:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7390,7 +7734,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1393:15:9", + "src": "1445:15:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7401,14 +7745,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1694, + "id": 1496, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1411:4:9", + "src": "1463:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7416,57 +7760,59 @@ }, "value": "true" }, - "src": "1393:22:9", + "src": "1445:22:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1696, + "id": 1498, "nodeType": "ExpressionStatement", - "src": "1393:22:9" + "src": "1445:22:9" } ] }, "documentation": null, - "id": 1698, + "functionSelector": "b532e4cb", + "id": 1500, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1689, + "id": 1491, "modifierName": { "argumentTypes": null, - "id": 1688, + "id": 1490, "name": "owner_only", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "1372:10:9", + "referencedDeclaration": 1425, + "src": "1424:10:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1372:10:9" + "src": "1424:10:9" } ], "name": "addModerator", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1687, + "id": 1489, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1686, + "id": 1488, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1698, - "src": "1351:12:9", + "overrides": null, + "scope": 1500, + "src": "1403:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7474,10 +7820,11 @@ "typeString": "address" }, "typeName": { - "id": 1685, + "id": 1487, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1351:7:9", + "src": "1403:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7487,31 +7834,30 @@ "visibility": "internal" } ], - "src": "1350:14:9" + "src": "1402:14:9" }, - "payable": false, "returnParameters": { - "id": 1690, + "id": 1492, "nodeType": "ParameterList", "parameters": [], - "src": "1383:0:9" + "src": "1435:0:9" }, - "scope": 2030, - "src": "1329:93:9", + "scope": 1835, + "src": "1381:93:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1711, + "id": 1513, "nodeType": "Block", - "src": "1484:40:9", + "src": "1537:40:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1709, + "id": 1511, "isConstant": false, "isLValue": false, "isPure": false, @@ -7520,26 +7866,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1705, + "id": 1507, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1610, - "src": "1494:9:9", + "referencedDeclaration": 1409, + "src": "1547:9:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1707, + "id": 1509, "indexExpression": { "argumentTypes": null, - "id": 1706, + "id": 1508, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1700, - "src": "1504:4:9", + "referencedDeclaration": 1502, + "src": "1557:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7550,7 +7896,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1494:15:9", + "src": "1547:15:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7561,14 +7907,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1708, + "id": 1510, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1512:5:9", + "src": "1565:5:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7576,57 +7922,59 @@ }, "value": "false" }, - "src": "1494:23:9", + "src": "1547:23:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1710, + "id": 1512, "nodeType": "ExpressionStatement", - "src": "1494:23:9" + "src": "1547:23:9" } ] }, "documentation": null, - "id": 1712, + "functionSelector": "869d785f", + "id": 1514, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1703, + "id": 1505, "modifierName": { "argumentTypes": null, - "id": 1702, + "id": 1504, "name": "owner_only", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "1473:10:9", + "referencedDeclaration": 1425, + "src": "1526:10:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1473:10:9" + "src": "1526:10:9" } ], "name": "removeModerator", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1701, + "id": 1503, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1700, + "id": 1502, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1712, - "src": "1452:12:9", + "overrides": null, + "scope": 1514, + "src": "1505:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7634,10 +7982,11 @@ "typeString": "address" }, "typeName": { - "id": 1699, + "id": 1501, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1452:7:9", + "src": "1505:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7647,54 +7996,54 @@ "visibility": "internal" } ], - "src": "1451:14:9" + "src": "1504:14:9" }, - "payable": false, "returnParameters": { - "id": 1704, + "id": 1506, "nodeType": "ParameterList", "parameters": [], - "src": "1484:0:9" + "src": "1537:0:9" }, - "scope": 2030, - "src": "1427:97:9", + "scope": 1835, + "src": "1480:97:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1784, + "id": 1586, "nodeType": "Block", - "src": "1616:388:9", + "src": "1697:630:9", "statements": [ { "assignments": [ - 1724 + 1526 ], "declarations": [ { "constant": false, - "id": 1724, + "id": 1526, "name": "pubT", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1626:17:9", + "overrides": null, + "scope": 1586, + "src": "1707:17:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2030", + "typeIdentifier": "t_contract$_PublicTokens_$1835", "typeString": "contract PublicTokens" }, "typeName": { "contractScope": null, - "id": 1723, + "id": 1525, "name": "PublicTokens", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2030, - "src": "1626:12:9", + "referencedDeclaration": 1835, + "src": "1707:12:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2030", + "typeIdentifier": "t_contract$_PublicTokens_$1835", "typeString": "contract PublicTokens" } }, @@ -7702,18 +8051,18 @@ "visibility": "internal" } ], - "id": 1728, + "id": 1530, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1726, + "id": 1528, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1714, - "src": "1659:4:9", + "referencedDeclaration": 1516, + "src": "1740:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7727,18 +8076,18 @@ "typeString": "address" } ], - "id": 1725, + "id": 1527, "name": "PublicTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2030, - "src": "1646:12:9", + "referencedDeclaration": 1835, + "src": "1727:12:9", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PublicTokens_$2030_$", + "typeIdentifier": "t_type$_t_contract$_PublicTokens_$1835_$", "typeString": "type(contract PublicTokens)" } }, - "id": 1727, + "id": 1529, "isConstant": false, "isLValue": false, "isPure": false, @@ -7746,46 +8095,50 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1646:18:9", + "src": "1727:18:9", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2030", + "typeIdentifier": "t_contract$_PublicTokens_$1835", "typeString": "contract PublicTokens" } }, "nodeType": "VariableDeclarationStatement", - "src": "1626:38:9" + "src": "1707:38:9" }, { "body": { - "id": 1782, + "id": 1584, "nodeType": "Block", - "src": "1717:281:9", + "src": "1804:517:9", "statements": [ { - "assignments": [], + "assignments": [ + 1545 + ], "declarations": [ { "constant": false, - "id": 1743, + "id": 1545, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1731:18:9", + "overrides": null, + "scope": 1584, + "src": "1818:18:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 1742, + "id": 1544, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "1731:5:9", + "referencedDeclaration": 1401, + "src": "1818:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -7793,15 +8146,15 @@ "visibility": "internal" } ], - "id": 1744, + "id": 1546, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "1731:18:9" + "src": "1818:18:9" }, { "expression": { "argumentTypes": null, - "id": 1765, + "id": 1567, "isConstant": false, "isLValue": false, "isPure": false, @@ -7813,26 +8166,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1745, + "id": 1547, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1764:5:9", + "referencedDeclaration": 1545, + "src": "1868:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1747, + "id": 1549, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "1764:10:9", + "referencedDeclaration": 1388, + "src": "1868:10:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -7842,26 +8195,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1748, + "id": 1550, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1776:5:9", + "referencedDeclaration": 1545, + "src": "1896:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1749, + "id": 1551, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 1591, - "src": "1776:12:9", + "referencedDeclaration": 1390, + "src": "1896:12:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -7871,26 +8224,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1750, + "id": 1552, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1790:5:9", + "referencedDeclaration": 1545, + "src": "1926:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1751, + "id": 1553, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "1790:10:9", + "referencedDeclaration": 1392, + "src": "1926:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7900,26 +8253,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1752, + "id": 1554, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1802:5:9", + "referencedDeclaration": 1545, + "src": "1954:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1753, + "id": 1555, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1595, - "src": "1802:14:9", + "referencedDeclaration": 1394, + "src": "1954:14:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7929,26 +8282,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1754, + "id": 1556, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1818:5:9", + "referencedDeclaration": 1545, + "src": "1986:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1755, + "id": 1557, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 1597, - "src": "1818:13:9", + "referencedDeclaration": 1396, + "src": "1986:13:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7958,26 +8311,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1756, + "id": 1558, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1833:5:9", + "referencedDeclaration": 1545, + "src": "2017:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1757, + "id": 1559, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, - "src": "1833:11:9", + "referencedDeclaration": 1398, + "src": "2017:11:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7987,40 +8340,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1758, + "id": 1560, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1846:5:9", + "referencedDeclaration": 1545, + "src": "2046:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1759, + "id": 1561, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isValid", "nodeType": "MemberAccess", - "referencedDeclaration": 1601, - "src": "1846:13:9", + "referencedDeclaration": 1400, + "src": "2046:13:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 1760, + "id": 1562, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "1763:97:9", + "src": "1850:223:9", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" @@ -8033,12 +8386,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1763, + "id": 1565, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1730, - "src": "1878:1:9", + "referencedDeclaration": 1532, + "src": "2091:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8054,32 +8407,32 @@ ], "expression": { "argumentTypes": null, - "id": 1761, + "id": 1563, "name": "pubT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1724, - "src": "1863:4:9", + "referencedDeclaration": 1526, + "src": "2076:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2030", + "typeIdentifier": "t_contract$_PublicTokens_$1835", "typeString": "contract PublicTokens" } }, - "id": 1762, + "id": 1564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pubTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 1606, - "src": "1863:14:9", + "referencedDeclaration": 1405, + "src": "2076:14:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", "typeString": "function (uint256) view external returns (bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" } }, - "id": 1764, + "id": 1566, "isConstant": false, "isLValue": false, "isPure": false, @@ -8087,21 +8440,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1863:17:9", + "src": "2076:17:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" } }, - "src": "1763:117:9", + "src": "1850:243:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1766, + "id": 1568, "nodeType": "ExpressionStatement", - "src": "1763:117:9" + "src": "1850:243:9" }, { "expression": { @@ -8111,26 +8465,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1768, + "id": 1570, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1906:5:9", + "referencedDeclaration": 1545, + "src": "2136:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1769, + "id": 1571, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "1906:10:9", + "referencedDeclaration": 1388, + "src": "2136:10:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -8140,26 +8494,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1770, + "id": 1572, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1918:5:9", + "referencedDeclaration": 1545, + "src": "2164:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1771, + "id": 1573, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 1591, - "src": "1918:12:9", + "referencedDeclaration": 1390, + "src": "2164:12:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -8169,26 +8523,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1772, + "id": 1574, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1932:5:9", + "referencedDeclaration": 1545, + "src": "2194:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1773, + "id": 1575, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "1932:10:9", + "referencedDeclaration": 1392, + "src": "2194:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8198,26 +8552,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1774, + "id": 1576, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1944:5:9", + "referencedDeclaration": 1545, + "src": "2222:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1775, + "id": 1577, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1595, - "src": "1944:14:9", + "referencedDeclaration": 1394, + "src": "2222:14:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8227,26 +8581,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1776, + "id": 1578, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1960:5:9", + "referencedDeclaration": 1545, + "src": "2254:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1777, + "id": 1579, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 1597, - "src": "1960:13:9", + "referencedDeclaration": 1396, + "src": "2254:13:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8256,26 +8610,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1778, + "id": 1580, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "1975:5:9", + "referencedDeclaration": 1545, + "src": "2285:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1779, + "id": 1581, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, - "src": "1975:11:9", + "referencedDeclaration": 1398, + "src": "2285:11:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8309,18 +8663,18 @@ "typeString": "bytes32" } ], - "id": 1767, + "id": 1569, "name": "addSetToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1883, - "src": "1894:11:9", + "referencedDeclaration": 1688, + "src": "2107:11:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes16,bytes16,address,uint8,bytes32,bytes32)" } }, - "id": 1780, + "id": 1582, "isConstant": false, "isLValue": false, "isPure": false, @@ -8328,15 +8682,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1894:93:9", + "src": "2107:203:9", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1781, + "id": 1583, "nodeType": "ExpressionStatement", - "src": "1894:93:9" + "src": "2107:203:9" } ] }, @@ -8346,19 +8701,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1738, + "id": 1540, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1733, + "id": 1535, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1730, - "src": "1693:1:9", + "referencedDeclaration": 1532, + "src": "1778:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8375,19 +8730,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1736, + "id": 1538, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1734, + "id": 1536, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1716, - "src": "1698:4:9", + "referencedDeclaration": 1518, + "src": "1783:4:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8397,56 +8752,57 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1735, + "id": 1537, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1718, - "src": "1703:6:9", + "referencedDeclaration": 1520, + "src": "1790:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1698:11:9", + "src": "1783:13:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1737, + "id": 1539, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1697:13:9", + "src": "1782:15:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1693:17:9", + "src": "1778:19:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1783, + "id": 1585, "initializationExpression": { "assignments": [ - 1730 + 1532 ], "declarations": [ { "constant": false, - "id": 1730, + "id": 1532, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1678:6:9", + "overrides": null, + "scope": 1585, + "src": "1760:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8454,10 +8810,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1729, - "name": "uint", + "id": 1531, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1678:4:9", + "src": "1760:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8467,27 +8823,27 @@ "visibility": "internal" } ], - "id": 1732, + "id": 1534, "initialValue": { "argumentTypes": null, - "id": 1731, + "id": 1533, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1716, - "src": "1687:4:9", + "referencedDeclaration": 1518, + "src": "1772:4:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1678:13:9" + "src": "1760:16:9" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 1740, + "id": 1542, "isConstant": false, "isLValue": false, "isPure": false, @@ -8495,15 +8851,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1712:3:9", + "src": "1799:3:9", "subExpression": { "argumentTypes": null, - "id": 1739, + "id": 1541, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1730, - "src": "1712:1:9", + "referencedDeclaration": 1532, + "src": "1799:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8514,54 +8870,56 @@ "typeString": "uint256" } }, - "id": 1741, + "id": 1543, "nodeType": "ExpressionStatement", - "src": "1712:3:9" + "src": "1799:3:9" }, "nodeType": "ForStatement", - "src": "1674:324:9" + "src": "1755:566:9" } ] }, "documentation": null, - "id": 1785, + "functionSelector": "dc9a4698", + "id": 1587, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1721, + "id": 1523, "modifierName": { "argumentTypes": null, - "id": 1720, + "id": 1522, "name": "owner_only", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "1606:10:9", + "referencedDeclaration": 1425, + "src": "1682:10:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1606:10:9" + "src": "1682:10:9" } ], "name": "loadTokensFromContract", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1719, + "id": 1521, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1714, + "id": 1516, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1561:12:9", + "overrides": null, + "scope": 1587, + "src": "1615:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8569,10 +8927,11 @@ "typeString": "address" }, "typeName": { - "id": 1713, + "id": 1515, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1561:7:9", + "src": "1615:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8583,11 +8942,12 @@ }, { "constant": false, - "id": 1716, + "id": 1518, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1575:9:9", + "overrides": null, + "scope": 1587, + "src": "1629:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8595,10 +8955,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1715, - "name": "uint", + "id": 1517, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1575:4:9", + "src": "1629:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8609,11 +8969,12 @@ }, { "constant": false, - "id": 1718, + "id": 1520, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "1586:11:9", + "overrides": null, + "scope": 1587, + "src": "1643:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8621,10 +8982,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1717, - "name": "uint", + "id": 1519, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1586:4:9", + "src": "1643:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8634,54 +8995,54 @@ "visibility": "internal" } ], - "src": "1560:38:9" + "src": "1614:44:9" }, - "payable": false, "returnParameters": { - "id": 1722, + "id": 1524, "nodeType": "ParameterList", "parameters": [], - "src": "1616:0:9" + "src": "1697:0:9" }, - "scope": 2030, - "src": "1529:475:9", + "scope": 1835, + "src": "1583:744:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1882, + "id": 1687, "nodeType": "Block", - "src": "2226:454:9", + "src": "2550:465:9", "statements": [ { "assignments": [ - 1809 + 1611 ], "declarations": [ { "constant": false, - "id": 1809, + "id": 1611, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2236:19:9", + "overrides": null, + "scope": 1687, + "src": "2560:19:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 1808, + "id": 1610, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "2236:5:9", + "referencedDeclaration": 1401, + "src": "2560:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -8689,47 +9050,47 @@ "visibility": "internal" } ], - "id": 1815, + "id": 1617, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1810, + "id": 1612, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "2258:9:9", + "referencedDeclaration": 1405, + "src": "2582:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 1814, + "id": 1616, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1811, + "id": 1613, "name": "idMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1614, - "src": "2268:5:9", + "referencedDeclaration": 1413, + "src": "2592:5:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1813, + "id": 1615, "indexExpression": { "argumentTypes": null, - "id": 1812, + "id": 1614, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "2274:4:9", + "referencedDeclaration": 1593, + "src": "2598:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8740,7 +9101,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2268:11:9", + "src": "2592:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8751,14 +9112,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2258:22:9", + "src": "2582:22:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "2236:44:9" + "src": "2560:44:9" }, { "condition": { @@ -8767,7 +9128,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1819, + "id": 1624, "isConstant": false, "isLValue": false, "isPure": false, @@ -8776,26 +9137,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1816, + "id": 1618, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2293:5:9", + "referencedDeclaration": 1611, + "src": "2618:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1817, + "id": 1619, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "2293:10:9", + "referencedDeclaration": 1392, + "src": "2618:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8805,41 +9166,89 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "hexValue": "307830", - "id": 1818, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2640:1:9", + "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": 1621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2632:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1620, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2632:7:9", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1623, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "Literal", - "src": "2307:3:9", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "2632:10:9", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } }, - "src": "2293:17:9", + "src": "2618:24:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1845, + "id": 1650, "nodeType": "IfStatement", - "src": "2290:202:9", + "src": "2614:213:9", "trueBody": { - "id": 1844, + "id": 1649, "nodeType": "Block", - "src": "2312:180:9", + "src": "2644:183:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1821, + "id": 1626, "isConstant": false, "isLValue": false, "isPure": false, @@ -8847,15 +9256,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2326:12:9", + "src": "2658:12:9", "subExpression": { "argumentTypes": null, - "id": 1820, + "id": 1625, "name": "tokenCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1582, - "src": "2326:10:9", + "referencedDeclaration": 1381, + "src": "2658:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8866,14 +9275,14 @@ "typeString": "uint256" } }, - "id": 1822, + "id": 1627, "nodeType": "ExpressionStatement", - "src": "2326:12:9" + "src": "2658:12:9" }, { "expression": { "argumentTypes": null, - "id": 1824, + "id": 1629, "isConstant": false, "isLValue": false, "isPure": false, @@ -8881,15 +9290,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2352:17:9", + "src": "2684:17:9", "subExpression": { "argumentTypes": null, - "id": 1823, + "id": 1628, "name": "tokenValidCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1585, - "src": "2352:15:9", + "referencedDeclaration": 1384, + "src": "2684:15:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8900,28 +9309,28 @@ "typeString": "uint256" } }, - "id": 1825, + "id": 1630, "nodeType": "ExpressionStatement", - "src": "2352:17:9" + "src": "2684:17:9" }, { "expression": { "argumentTypes": null, - "id": 1830, + "id": 1635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1826, + "id": 1631, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2383:5:9", + "referencedDeclaration": 1611, + "src": "2715:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, @@ -8931,26 +9340,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1827, + "id": 1632, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "2391:9:9", + "referencedDeclaration": 1405, + "src": "2723:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 1829, + "id": 1634, "indexExpression": { "argumentTypes": null, - "id": 1828, + "id": 1633, "name": "tokenCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1582, - "src": "2401:10:9", + "referencedDeclaration": 1381, + "src": "2733:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8961,26 +9370,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2391:21:9", + "src": "2723:21:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, - "src": "2383:29:9", + "src": "2715:29:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1831, + "id": 1636, "nodeType": "ExpressionStatement", - "src": "2383:29:9" + "src": "2715:29:9" }, { "expression": { "argumentTypes": null, - "id": 1836, + "id": 1641, "isConstant": false, "isLValue": false, "isPure": false, @@ -8989,26 +9398,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1832, + "id": 1637, "name": "idMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1614, - "src": "2426:5:9", + "referencedDeclaration": 1413, + "src": "2758:5:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1834, + "id": 1639, "indexExpression": { "argumentTypes": null, - "id": 1833, + "id": 1638, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "2432:4:9", + "referencedDeclaration": 1593, + "src": "2764:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9019,7 +9428,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2426:11:9", + "src": "2758:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9029,31 +9438,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1835, + "id": 1640, "name": "tokenCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1582, - "src": "2440:10:9", + "referencedDeclaration": 1381, + "src": "2772:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2426:24:9", + "src": "2758:24:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1837, + "id": 1642, "nodeType": "ExpressionStatement", - "src": "2426:24:9" + "src": "2758:24:9" }, { "expression": { "argumentTypes": null, - "id": 1842, + "id": 1647, "isConstant": false, "isLValue": false, "isPure": false, @@ -9062,26 +9471,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1838, + "id": 1643, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2464:5:9", + "referencedDeclaration": 1611, + "src": "2796:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1840, + "id": 1645, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isValid", "nodeType": "MemberAccess", - "referencedDeclaration": 1601, - "src": "2464:13:9", + "referencedDeclaration": 1400, + "src": "2796:13:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9092,14 +9501,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1841, + "id": 1646, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2480:4:9", + "src": "2812:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -9107,15 +9516,15 @@ }, "value": "true" }, - "src": "2464:20:9", + "src": "2796:20:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1843, + "id": 1648, "nodeType": "ExpressionStatement", - "src": "2464:20:9" + "src": "2796:20:9" } ] } @@ -9123,7 +9532,7 @@ { "expression": { "argumentTypes": null, - "id": 1850, + "id": 1655, "isConstant": false, "isLValue": false, "isPure": false, @@ -9132,26 +9541,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1846, + "id": 1651, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2501:5:9", + "referencedDeclaration": 1611, + "src": "2836:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1848, + "id": 1653, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "2501:10:9", + "referencedDeclaration": 1388, + "src": "2836:10:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -9161,31 +9570,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1849, + "id": 1654, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "2514:4:9", + "referencedDeclaration": 1589, + "src": "2849:4:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, - "src": "2501:17:9", + "src": "2836:17:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, - "id": 1851, + "id": 1656, "nodeType": "ExpressionStatement", - "src": "2501:17:9" + "src": "2836:17:9" }, { "expression": { "argumentTypes": null, - "id": 1856, + "id": 1661, "isConstant": false, "isLValue": false, "isPure": false, @@ -9194,26 +9603,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1852, + "id": 1657, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2528:5:9", + "referencedDeclaration": 1611, + "src": "2863:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1854, + "id": 1659, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 1591, - "src": "2528:12:9", + "referencedDeclaration": 1390, + "src": "2863:12:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -9223,31 +9632,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1855, + "id": 1660, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "2543:6:9", + "referencedDeclaration": 1591, + "src": "2878:6:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, - "src": "2528:21:9", + "src": "2863:21:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, - "id": 1857, + "id": 1662, "nodeType": "ExpressionStatement", - "src": "2528:21:9" + "src": "2863:21:9" }, { "expression": { "argumentTypes": null, - "id": 1862, + "id": 1667, "isConstant": false, "isLValue": false, "isPure": false, @@ -9256,26 +9665,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1858, + "id": 1663, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2559:5:9", + "referencedDeclaration": 1611, + "src": "2894:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1860, + "id": 1665, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "2559:10:9", + "referencedDeclaration": 1392, + "src": "2894:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9285,31 +9694,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1861, + "id": 1666, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "2572:4:9", + "referencedDeclaration": 1593, + "src": "2907:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2559:17:9", + "src": "2894:17:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1863, + "id": 1668, "nodeType": "ExpressionStatement", - "src": "2559:17:9" + "src": "2894:17:9" }, { "expression": { "argumentTypes": null, - "id": 1868, + "id": 1673, "isConstant": false, "isLValue": false, "isPure": false, @@ -9318,26 +9727,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1864, + "id": 1669, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2586:5:9", + "referencedDeclaration": 1611, + "src": "2921:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1866, + "id": 1671, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1595, - "src": "2586:14:9", + "referencedDeclaration": 1394, + "src": "2921:14:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9347,31 +9756,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1867, + "id": 1672, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "2603:8:9", + "referencedDeclaration": 1595, + "src": "2938:8:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "2586:25:9", + "src": "2921:25:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 1869, + "id": 1674, "nodeType": "ExpressionStatement", - "src": "2586:25:9" + "src": "2921:25:9" }, { "expression": { "argumentTypes": null, - "id": 1874, + "id": 1679, "isConstant": false, "isLValue": false, "isPure": false, @@ -9380,26 +9789,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1870, + "id": 1675, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2621:5:9", + "referencedDeclaration": 1611, + "src": "2956:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1872, + "id": 1677, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 1597, - "src": "2621:13:9", + "referencedDeclaration": 1396, + "src": "2956:13:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9409,31 +9818,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1873, + "id": 1678, "name": "website", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1795, - "src": "2637:7:9", + "referencedDeclaration": 1597, + "src": "2972:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "2621:23:9", + "src": "2956:23:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 1875, + "id": 1680, "nodeType": "ExpressionStatement", - "src": "2621:23:9" + "src": "2956:23:9" }, { "expression": { "argumentTypes": null, - "id": 1880, + "id": 1685, "isConstant": false, "isLValue": false, "isPure": false, @@ -9442,26 +9851,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1876, + "id": 1681, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "2654:5:9", + "referencedDeclaration": 1611, + "src": "2989:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1878, + "id": 1683, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, - "src": "2654:11:9", + "referencedDeclaration": 1398, + "src": "2989:11:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9471,134 +9880,136 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1879, + "id": 1684, "name": "email", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1797, - "src": "2668:5:9", + "referencedDeclaration": 1599, + "src": "3003:5:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "2654:19:9", + "src": "2989:19:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 1881, + "id": 1686, "nodeType": "ExpressionStatement", - "src": "2654:19:9" + "src": "2989:19:9" } ] }, "documentation": null, - "id": 1883, + "functionSelector": "fae0cc19", + "id": 1688, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1800, + "id": 1602, "modifierName": { "argumentTypes": null, - "id": 1799, + "id": 1601, "name": "only_mod", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "2183:8:9", + "referencedDeclaration": 1444, + "src": "2507:8:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2183:8:9" + "src": "2507:8:9" }, { "arguments": [ { "argumentTypes": null, - "id": 1802, + "id": 1604, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "2200:4:9", + "referencedDeclaration": 1593, + "src": "2524:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 1803, + "id": 1605, "modifierName": { "argumentTypes": null, - "id": 1801, + "id": 1603, "name": "no_null", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1675, - "src": "2192:7:9", + "referencedDeclaration": 1477, + "src": "2516:7:9", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "2192:13:9" + "src": "2516:13:9" }, { "arguments": [ { "argumentTypes": null, - "id": 1805, + "id": 1607, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "2220:4:9", + "referencedDeclaration": 1593, + "src": "2544:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 1806, + "id": 1608, "modifierName": { "argumentTypes": null, - "id": 1804, + "id": 1606, "name": "only_contract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1662, - "src": "2206:13:9", + "referencedDeclaration": 1461, + "src": "2530:13:9", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "2206:19:9" + "src": "2530:19:9" } ], "name": "addSetToken", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1798, + "id": 1600, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1787, + "id": 1589, "name": "name", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2039:12:9", + "overrides": null, + "scope": 1688, + "src": "2363:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9606,10 +10017,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1786, + "id": 1588, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "2039:7:9", + "src": "2363:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -9620,11 +10031,12 @@ }, { "constant": false, - "id": 1789, + "id": 1591, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2062:14:9", + "overrides": null, + "scope": 1688, + "src": "2385:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9632,10 +10044,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1788, + "id": 1590, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "2062:7:9", + "src": "2385:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -9646,11 +10058,12 @@ }, { "constant": false, - "id": 1791, + "id": 1593, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2087:12:9", + "overrides": null, + "scope": 1688, + "src": "2409:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9658,10 +10071,11 @@ "typeString": "address" }, "typeName": { - "id": 1790, + "id": 1592, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2087:7:9", + "src": "2409:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9672,11 +10086,12 @@ }, { "constant": false, - "id": 1793, + "id": 1595, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2110:14:9", + "overrides": null, + "scope": 1688, + "src": "2431:14:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9684,10 +10099,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1792, + "id": 1594, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2110:5:9", + "src": "2431:5:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9698,11 +10113,12 @@ }, { "constant": false, - "id": 1795, + "id": 1597, "name": "website", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2135:15:9", + "overrides": null, + "scope": 1688, + "src": "2455:15:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9710,10 +10126,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1794, + "id": 1596, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2135:7:9", + "src": "2455:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9724,11 +10140,12 @@ }, { "constant": false, - "id": 1797, + "id": 1599, "name": "email", "nodeType": "VariableDeclaration", - "scope": 1883, - "src": "2161:13:9", + "overrides": null, + "scope": 1688, + "src": "2480:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9736,10 +10153,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1796, + "id": 1598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2161:7:9", + "src": "2480:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9749,54 +10166,54 @@ "visibility": "internal" } ], - "src": "2029:146:9" + "src": "2353:146:9" }, - "payable": false, "returnParameters": { - "id": 1807, + "id": 1609, "nodeType": "ParameterList", "parameters": [], - "src": "2226:0:9" + "src": "2550:0:9" }, - "scope": 2030, - "src": "2009:671:9", + "scope": 1835, + "src": "2333:682:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1916, + "id": 1721, "nodeType": "Block", - "src": "2751:167:9", + "src": "3087:171:9", "statements": [ { "assignments": [ - 1894 + 1699 ], "declarations": [ { "constant": false, - "id": 1894, + "id": 1699, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1917, - "src": "2761:19:9", + "overrides": null, + "scope": 1721, + "src": "3097:19:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 1893, + "id": 1698, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "2761:5:9", + "referencedDeclaration": 1401, + "src": "3097:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -9804,47 +10221,47 @@ "visibility": "internal" } ], - "id": 1900, + "id": 1705, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1895, + "id": 1700, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "2783:9:9", + "referencedDeclaration": 1405, + "src": "3119:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 1899, + "id": 1704, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1896, + "id": 1701, "name": "idMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1614, - "src": "2793:5:9", + "referencedDeclaration": 1413, + "src": "3129:5:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1898, + "id": 1703, "indexExpression": { "argumentTypes": null, - "id": 1897, + "id": 1702, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1885, - "src": "2799:4:9", + "referencedDeclaration": 1690, + "src": "3135:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9855,7 +10272,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2793:11:9", + "src": "3129:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9866,14 +10283,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2783:22:9", + "src": "3119:22:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "2761:44:9" + "src": "3097:44:9" }, { "condition": { @@ -9882,7 +10299,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1904, + "id": 1709, "isConstant": false, "isLValue": false, "isPure": false, @@ -9891,26 +10308,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1901, + "id": 1706, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "2818:5:9", + "referencedDeclaration": 1699, + "src": "3155:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1902, + "id": 1707, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "2818:10:9", + "referencedDeclaration": 1392, + "src": "3155:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9920,36 +10337,36 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1903, + "id": 1708, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1885, - "src": "2832:4:9", + "referencedDeclaration": 1690, + "src": "3169:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2818:18:9", + "src": "3155:18:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1915, + "id": 1720, "nodeType": "IfStatement", - "src": "2815:97:9", + "src": "3151:101:9", "trueBody": { - "id": 1914, + "id": 1719, "nodeType": "Block", - "src": "2838:74:9", + "src": "3175:77:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1909, + "id": 1714, "isConstant": false, "isLValue": false, "isPure": false, @@ -9958,26 +10375,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1905, + "id": 1710, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "2852:5:9", + "referencedDeclaration": 1699, + "src": "3189:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1907, + "id": 1712, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isValid", "nodeType": "MemberAccess", - "referencedDeclaration": 1601, - "src": "2852:13:9", + "referencedDeclaration": 1400, + "src": "3189:13:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9988,14 +10405,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1908, + "id": 1713, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2868:5:9", + "src": "3205:5:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10003,20 +10420,20 @@ }, "value": "false" }, - "src": "2852:21:9", + "src": "3189:21:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1910, + "id": 1715, "nodeType": "ExpressionStatement", - "src": "2852:21:9" + "src": "3189:21:9" }, { "expression": { "argumentTypes": null, - "id": 1912, + "id": 1717, "isConstant": false, "isLValue": false, "isPure": false, @@ -10024,15 +10441,15 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "2887:17:9", + "src": "3224:17:9", "subExpression": { "argumentTypes": null, - "id": 1911, + "id": 1716, "name": "tokenValidCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1585, - "src": "2887:15:9", + "referencedDeclaration": 1384, + "src": "3224:15:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10043,9 +10460,9 @@ "typeString": "uint256" } }, - "id": 1913, + "id": 1718, "nodeType": "ExpressionStatement", - "src": "2887:17:9" + "src": "3224:17:9" } ] } @@ -10053,77 +10470,79 @@ ] }, "documentation": null, - "id": 1917, + "functionSelector": "23e27a64", + "id": 1722, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1888, + "id": 1693, "modifierName": { "argumentTypes": null, - "id": 1887, + "id": 1692, "name": "only_mod", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "2728:8:9", + "referencedDeclaration": 1444, + "src": "3064:8:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2728:8:9" + "src": "3064:8:9" }, { "arguments": [ { "argumentTypes": null, - "id": 1890, + "id": 1695, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1885, - "src": "2745:4:9", + "referencedDeclaration": 1690, + "src": "3081:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 1891, + "id": 1696, "modifierName": { "argumentTypes": null, - "id": 1889, + "id": 1694, "name": "no_null", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1675, - "src": "2737:7:9", + "referencedDeclaration": 1477, + "src": "3073:7:9", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "2737:13:9" + "src": "3073:13:9" } ], "name": "disableToken", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1886, + "id": 1691, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1885, + "id": 1690, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1917, - "src": "2707:12:9", + "overrides": null, + "scope": 1722, + "src": "3043:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10131,10 +10550,11 @@ "typeString": "address" }, "typeName": { - "id": 1884, + "id": 1689, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2707:7:9", + "src": "3043:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10144,54 +10564,54 @@ "visibility": "internal" } ], - "src": "2706:14:9" + "src": "3042:14:9" }, - "payable": false, "returnParameters": { - "id": 1892, + "id": 1697, "nodeType": "ParameterList", "parameters": [], - "src": "2751:0:9" + "src": "3087:0:9" }, - "scope": 2030, - "src": "2685:233:9", + "scope": 1835, + "src": "3021:237:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1950, + "id": 1755, "nodeType": "Block", - "src": "2988:166:9", + "src": "3329:170:9", "statements": [ { "assignments": [ - 1928 + 1733 ], "declarations": [ { "constant": false, - "id": 1928, + "id": 1733, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1951, - "src": "2998:19:9", + "overrides": null, + "scope": 1755, + "src": "3339:19:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 1927, + "id": 1732, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "2998:5:9", + "referencedDeclaration": 1401, + "src": "3339:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -10199,47 +10619,47 @@ "visibility": "internal" } ], - "id": 1934, + "id": 1739, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1929, + "id": 1734, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "3020:9:9", + "referencedDeclaration": 1405, + "src": "3361:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 1933, + "id": 1738, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1930, + "id": 1735, "name": "idMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1614, - "src": "3030:5:9", + "referencedDeclaration": 1413, + "src": "3371:5:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1932, + "id": 1737, "indexExpression": { "argumentTypes": null, - "id": 1931, + "id": 1736, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1919, - "src": "3036:4:9", + "referencedDeclaration": 1724, + "src": "3377:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10250,7 +10670,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3030:11:9", + "src": "3371:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10261,14 +10681,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3020:22:9", + "src": "3361:22:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "2998:44:9" + "src": "3339:44:9" }, { "condition": { @@ -10277,7 +10697,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1938, + "id": 1743, "isConstant": false, "isLValue": false, "isPure": false, @@ -10286,26 +10706,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1935, + "id": 1740, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1928, - "src": "3055:5:9", + "referencedDeclaration": 1733, + "src": "3397:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1936, + "id": 1741, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "3055:10:9", + "referencedDeclaration": 1392, + "src": "3397:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10315,36 +10735,36 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1937, + "id": 1742, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1919, - "src": "3069:4:9", + "referencedDeclaration": 1724, + "src": "3411:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3055:18:9", + "src": "3397:18:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1949, + "id": 1754, "nodeType": "IfStatement", - "src": "3052:96:9", + "src": "3393:100:9", "trueBody": { - "id": 1948, + "id": 1753, "nodeType": "Block", - "src": "3075:73:9", + "src": "3417:76:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 1943, + "id": 1748, "isConstant": false, "isLValue": false, "isPure": false, @@ -10353,26 +10773,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1939, + "id": 1744, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1928, - "src": "3089:5:9", + "referencedDeclaration": 1733, + "src": "3431:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token storage pointer" } }, - "id": 1941, + "id": 1746, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isValid", "nodeType": "MemberAccess", - "referencedDeclaration": 1601, - "src": "3089:13:9", + "referencedDeclaration": 1400, + "src": "3431:13:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10383,14 +10803,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1942, + "id": 1747, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3105:4:9", + "src": "3447:4:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10398,20 +10818,20 @@ }, "value": "true" }, - "src": "3089:20:9", + "src": "3431:20:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1944, + "id": 1749, "nodeType": "ExpressionStatement", - "src": "3089:20:9" + "src": "3431:20:9" }, { "expression": { "argumentTypes": null, - "id": 1946, + "id": 1751, "isConstant": false, "isLValue": false, "isPure": false, @@ -10419,15 +10839,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3123:17:9", + "src": "3465:17:9", "subExpression": { "argumentTypes": null, - "id": 1945, + "id": 1750, "name": "tokenValidCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1585, - "src": "3123:15:9", + "referencedDeclaration": 1384, + "src": "3465:15:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10438,9 +10858,9 @@ "typeString": "uint256" } }, - "id": 1947, + "id": 1752, "nodeType": "ExpressionStatement", - "src": "3123:17:9" + "src": "3465:17:9" } ] } @@ -10448,77 +10868,79 @@ ] }, "documentation": null, - "id": 1951, + "functionSelector": "c690908a", + "id": 1756, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1922, + "id": 1727, "modifierName": { "argumentTypes": null, - "id": 1921, + "id": 1726, "name": "only_mod", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "2965:8:9", + "referencedDeclaration": 1444, + "src": "3306:8:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2965:8:9" + "src": "3306:8:9" }, { "arguments": [ { "argumentTypes": null, - "id": 1924, + "id": 1729, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1919, - "src": "2982:4:9", + "referencedDeclaration": 1724, + "src": "3323:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 1925, + "id": 1730, "modifierName": { "argumentTypes": null, - "id": 1923, + "id": 1728, "name": "no_null", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1675, - "src": "2974:7:9", + "referencedDeclaration": 1477, + "src": "3315:7:9", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "2974:13:9" + "src": "3315:13:9" } ], "name": "enableToken", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1920, + "id": 1725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1919, + "id": 1724, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1951, - "src": "2944:12:9", + "overrides": null, + "scope": 1756, + "src": "3285:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10526,10 +10948,11 @@ "typeString": "address" }, "typeName": { - "id": 1918, + "id": 1723, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2944:7:9", + "src": "3285:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10539,54 +10962,54 @@ "visibility": "internal" } ], - "src": "2943:14:9" + "src": "3284:14:9" }, - "payable": false, "returnParameters": { - "id": 1926, + "id": 1731, "nodeType": "ParameterList", "parameters": [], - "src": "2988:0:9" + "src": "3329:0:9" }, - "scope": 2030, - "src": "2923:231:9", + "scope": 1835, + "src": "3264:235:9", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 1990, + "id": 1795, "nodeType": "Block", - "src": "3300:217:9", + "src": "3638:241:9", "statements": [ { "assignments": [ - 1969 + 1774 ], "declarations": [ { "constant": false, - "id": 1969, + "id": 1774, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3310:18:9", + "overrides": null, + "scope": 1795, + "src": "3648:18:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 1968, + "id": 1773, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "3310:5:9", + "referencedDeclaration": 1401, + "src": "3648:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -10594,47 +11017,47 @@ "visibility": "internal" } ], - "id": 1975, + "id": 1780, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1970, + "id": 1775, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "3331:9:9", + "referencedDeclaration": 1405, + "src": "3669:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 1974, + "id": 1779, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1971, + "id": 1776, "name": "idMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1614, - "src": "3341:5:9", + "referencedDeclaration": 1413, + "src": "3679:5:9", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 1973, + "id": 1778, "indexExpression": { "argumentTypes": null, - "id": 1972, + "id": 1777, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1953, - "src": "3347:4:9", + "referencedDeclaration": 1758, + "src": "3685:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10645,7 +11068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3341:11:9", + "src": "3679:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10656,14 +11079,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3331:22:9", + "src": "3669:22:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "3310:43:9" + "src": "3648:43:9" }, { "expression": { @@ -10673,26 +11096,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1976, + "id": 1781, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3381:5:9", + "referencedDeclaration": 1774, + "src": "3722:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1977, + "id": 1782, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "3381:10:9", + "referencedDeclaration": 1388, + "src": "3722:10:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -10702,26 +11125,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1978, + "id": 1783, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3402:5:9", + "referencedDeclaration": 1774, + "src": "3746:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1979, + "id": 1784, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 1591, - "src": "3402:12:9", + "referencedDeclaration": 1390, + "src": "3746:12:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -10731,26 +11154,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1980, + "id": 1785, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3425:5:9", + "referencedDeclaration": 1774, + "src": "3772:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1981, + "id": 1786, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "3425:10:9", + "referencedDeclaration": 1392, + "src": "3772:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10760,26 +11183,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1982, + "id": 1787, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3446:5:9", + "referencedDeclaration": 1774, + "src": "3796:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1983, + "id": 1788, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1595, - "src": "3446:14:9", + "referencedDeclaration": 1394, + "src": "3796:14:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10789,26 +11212,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1984, + "id": 1789, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3471:5:9", + "referencedDeclaration": 1774, + "src": "3824:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1985, + "id": 1790, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 1597, - "src": "3471:13:9", + "referencedDeclaration": 1396, + "src": "3824:13:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10818,71 +11241,73 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1986, + "id": 1791, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1969, - "src": "3498:5:9", + "referencedDeclaration": 1774, + "src": "3851:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 1987, + "id": 1792, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, - "src": "3498:11:9", + "referencedDeclaration": 1398, + "src": "3851:11:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 1988, + "id": 1793, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3370:140:9", + "src": "3708:164:9", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$", "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32)" } }, - "functionReturnParameters": 1967, - "id": 1989, + "functionReturnParameters": 1772, + "id": 1794, "nodeType": "Return", - "src": "3363:147:9" + "src": "3701:171:9" } ] }, "documentation": null, - "id": 1991, + "functionSelector": "59770438", + "id": 1796, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getToken", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1954, + "id": 1759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1953, + "id": 1758, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3177:12:9", + "overrides": null, + "scope": 1796, + "src": "3523:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10890,10 +11315,11 @@ "typeString": "address" }, "typeName": { - "id": 1952, + "id": 1757, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3177:7:9", + "src": "3523:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10903,20 +11329,20 @@ "visibility": "internal" } ], - "src": "3176:14:9" + "src": "3522:14:9" }, - "payable": false, "returnParameters": { - "id": 1967, + "id": 1772, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1956, + "id": 1761, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3218:7:9", + "overrides": null, + "scope": 1796, + "src": "3582:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10924,10 +11350,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1955, + "id": 1760, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "3218:7:9", + "src": "3582:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -10938,11 +11364,12 @@ }, { "constant": false, - "id": 1958, + "id": 1763, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3233:7:9", + "overrides": null, + "scope": 1796, + "src": "3591:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10950,10 +11377,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1957, + "id": 1762, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "3233:7:9", + "src": "3591:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -10964,11 +11391,12 @@ }, { "constant": false, - "id": 1960, + "id": 1765, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3248:7:9", + "overrides": null, + "scope": 1796, + "src": "3600:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10976,10 +11404,11 @@ "typeString": "address" }, "typeName": { - "id": 1959, + "id": 1764, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3248:7:9", + "src": "3600:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10990,11 +11419,12 @@ }, { "constant": false, - "id": 1962, + "id": 1767, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3263:5:9", + "overrides": null, + "scope": 1796, + "src": "3609:5:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11002,10 +11432,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1961, + "id": 1766, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3263:5:9", + "src": "3609:5:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -11016,11 +11446,12 @@ }, { "constant": false, - "id": 1964, + "id": 1769, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3276:7:9", + "overrides": null, + "scope": 1796, + "src": "3616:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11028,10 +11459,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1963, + "id": 1768, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3276:7:9", + "src": "3616:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11042,11 +11473,12 @@ }, { "constant": false, - "id": 1966, + "id": 1771, "name": "", "nodeType": "VariableDeclaration", - "scope": 1991, - "src": "3291:7:9", + "overrides": null, + "scope": 1796, + "src": "3625:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11054,10 +11486,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1965, + "id": 1770, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3291:7:9", + "src": "3625:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11067,47 +11499,48 @@ "visibility": "internal" } ], - "src": "3211:88:9" + "src": "3581:52:9" }, - "scope": 2030, - "src": "3159:358:9", + "scope": 1835, + "src": "3505:374:9", "stateMutability": "view", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 2028, + "id": 1833, "nodeType": "Block", - "src": "3662:208:9", + "src": "4020:232:9", "statements": [ { "assignments": [ - 2009 + 1814 ], "declarations": [ { "constant": false, - "id": 2009, + "id": 1814, "name": "token", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3672:18:9", + "overrides": null, + "scope": 1833, + "src": "4030:18:9", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token" }, "typeName": { "contractScope": null, - "id": 2008, + "id": 1813, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1602, - "src": "3672:5:9", + "referencedDeclaration": 1401, + "src": "4030:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage_ptr", + "typeIdentifier": "t_struct$_Token_$1401_storage_ptr", "typeString": "struct PublicTokens.Token" } }, @@ -11115,31 +11548,31 @@ "visibility": "internal" } ], - "id": 2013, + "id": 1818, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2010, + "id": 1815, "name": "pubTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "3693:9:9", + "referencedDeclaration": 1405, + "src": "4051:9:9", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1602_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$1401_storage_$", "typeString": "mapping(uint256 => struct PublicTokens.Token storage ref)" } }, - "id": 2012, + "id": 1817, "indexExpression": { "argumentTypes": null, - "id": 2011, + "id": 1816, "name": "id", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1993, - "src": "3703:2:9", + "referencedDeclaration": 1798, + "src": "4061:2:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11150,14 +11583,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3693:13:9", + "src": "4051:13:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_storage", + "typeIdentifier": "t_struct$_Token_$1401_storage", "typeString": "struct PublicTokens.Token storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "3672:34:9" + "src": "4030:34:9" }, { "expression": { @@ -11167,26 +11600,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2014, + "id": 1819, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3734:5:9", + "referencedDeclaration": 1814, + "src": "4095:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2015, + "id": 1820, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 1589, - "src": "3734:10:9", + "referencedDeclaration": 1388, + "src": "4095:10:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -11196,26 +11629,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2016, + "id": 1821, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3755:5:9", + "referencedDeclaration": 1814, + "src": "4119:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2017, + "id": 1822, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 1591, - "src": "3755:12:9", + "referencedDeclaration": 1390, + "src": "4119:12:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -11225,26 +11658,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2018, + "id": 1823, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3778:5:9", + "referencedDeclaration": 1814, + "src": "4145:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2019, + "id": 1824, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 1593, - "src": "3778:10:9", + "referencedDeclaration": 1392, + "src": "4145:10:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11254,26 +11687,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2020, + "id": 1825, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3799:5:9", + "referencedDeclaration": 1814, + "src": "4169:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2021, + "id": 1826, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1595, - "src": "3799:14:9", + "referencedDeclaration": 1394, + "src": "4169:14:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -11283,26 +11716,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2022, + "id": 1827, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3824:5:9", + "referencedDeclaration": 1814, + "src": "4197:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2023, + "id": 1828, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 1597, - "src": "3824:13:9", + "referencedDeclaration": 1396, + "src": "4197:13:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11312,71 +11745,73 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2024, + "id": 1829, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "3851:5:9", + "referencedDeclaration": 1814, + "src": "4224:5:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$1602_memory_ptr", + "typeIdentifier": "t_struct$_Token_$1401_memory_ptr", "typeString": "struct PublicTokens.Token memory" } }, - "id": 2025, + "id": 1830, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, - "src": "3851:11:9", + "referencedDeclaration": 1398, + "src": "4224:11:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2026, + "id": 1831, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3723:140:9", + "src": "4081:164:9", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$", "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32)" } }, - "functionReturnParameters": 2007, - "id": 2027, + "functionReturnParameters": 1812, + "id": 1832, "nodeType": "Return", - "src": "3716:147:9" + "src": "4074:171:9" } ] }, "documentation": null, - "id": 2029, + "functionSelector": "7bdc60d9", + "id": 1834, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getTokenById", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1994, + "id": 1799, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1993, + "id": 1798, "name": "id", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3544:7:9", + "overrides": null, + "scope": 1834, + "src": "3907:10:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11384,10 +11819,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1992, - "name": "uint", + "id": 1797, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3544:4:9", + "src": "3907:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11397,20 +11832,20 @@ "visibility": "internal" } ], - "src": "3543:9:9" + "src": "3906:12:9" }, - "payable": false, "returnParameters": { - "id": 2007, + "id": 1812, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1996, + "id": 1801, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3580:7:9", + "overrides": null, + "scope": 1834, + "src": "3964:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11418,10 +11853,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1995, + "id": 1800, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "3580:7:9", + "src": "3964:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -11432,11 +11867,12 @@ }, { "constant": false, - "id": 1998, + "id": 1803, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3595:7:9", + "overrides": null, + "scope": 1834, + "src": "3973:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11444,10 +11880,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 1997, + "id": 1802, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "3595:7:9", + "src": "3973:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -11458,11 +11894,12 @@ }, { "constant": false, - "id": 2000, + "id": 1805, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3610:7:9", + "overrides": null, + "scope": 1834, + "src": "3982:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11470,10 +11907,11 @@ "typeString": "address" }, "typeName": { - "id": 1999, + "id": 1804, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3610:7:9", + "src": "3982:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11484,11 +11922,12 @@ }, { "constant": false, - "id": 2002, + "id": 1807, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3625:5:9", + "overrides": null, + "scope": 1834, + "src": "3991:5:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11496,10 +11935,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2001, + "id": 1806, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3625:5:9", + "src": "3991:5:9", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -11510,11 +11949,12 @@ }, { "constant": false, - "id": 2004, + "id": 1809, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3638:7:9", + "overrides": null, + "scope": 1834, + "src": "3998:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11522,10 +11962,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2003, + "id": 1808, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3638:7:9", + "src": "3998:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11536,11 +11976,12 @@ }, { "constant": false, - "id": 2006, + "id": 1811, "name": "", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "3653:7:9", + "overrides": null, + "scope": 1834, + "src": "4007:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11548,10 +11989,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2005, + "id": 1810, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3653:7:9", + "src": "4007:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11561,28 +12002,28 @@ "visibility": "internal" } ], - "src": "3573:88:9" + "src": "3963:52:9" }, - "scope": 2030, - "src": "3522:348:9", + "scope": 1835, + "src": "3885:367:9", "stateMutability": "view", - "superFunction": null, + "virtual": false, "visibility": "public" } ], - "scope": 2031, - "src": "25:3847:9" + "scope": 1836, + "src": "26:4228:9" } ], - "src": "0:3872:9" + "src": "0:4255:9" }, "compiler": { "name": "solc", - "version": "0.4.26+commit.4563c3fc.Emscripten.clang" + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.11", - "updatedAt": "2019-06-26T04:51:10.213Z", + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T00:50:13.971Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/Seriality.json b/build/contracts/Seriality.json index 121bd6d..ab9ab2f 100644 --- a/build/contracts/Seriality.json +++ b/build/contracts/Seriality.json @@ -3,365 +3,364 @@ "abi": [ { "inputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "constructor" } ], - "metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol\":\"Seriality\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol\":{\"keccak256\":\"0x7abcc4447031026fce32aa0dda3c793149492b1dff86d1af8d70933a828f790e\",\"urls\":[\"bzzr://c468730a3106332b059555dfa7eb92880d377d8cf149657d839d54e238d6f825\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol\":{\"keccak256\":\"0xe43c18f7cd032e65bebea3b701bbb0d46fe0235d4e7d44d4939696c102906839\",\"urls\":[\"bzzr://0ed9a1f6408ddfd6fd7e17b855dc416dcad1e0141c0158d838df6c4bf82729c6\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol\":{\"keccak256\":\"0x280f6854ddf4d9b6b38c9fa51b4422b9a45f18a2e29f428a0f8174134e5836c9\",\"urls\":[\"bzzr://5b029fc6b26d749e509517a25c09150d741a028a6e05889e42fda0e6f6ba8d36\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol\":{\"keccak256\":\"0x84ca9cf629fb4e0228c9bc3354ab616de508a6113e6636604870361fc079d65b\",\"urls\":[\"bzzr://d78db3c2a2c54f35b7c5ba51888793c1a98a7fccaf2030f64cfee97ba2cd4b22\"]}},\"version\":1}", - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820d4f4c551ca4e78424c5efca5a7b85a2143de10c33581ac033d68a24efd02eab70029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820d4f4c551ca4e78424c5efca5a7b85a2143de10c33581ac033d68a24efd02eab70029", - "sourceMap": "290:102:2:-;;;354:36;8:9:-1;5:2;;;30:1;27;20:12;5:2;354:36:2;290:102;;;;;;", - "deployedSourceMap": "290:102:2:-;;;;;", - "source": "pragma solidity ^0.4.16;\n\n/**\n * @title Seriality\n * @dev The Seriality contract is the main interface for serializing data using the TypeToBytes, BytesToType and SizeOf\n * @author pouladzade@gmail.com\n */\n \nimport \"./BytesToTypes.sol\";\nimport \"./TypesToBytes.sol\";\nimport \"./SizeOf.sol\";\n\ncontract Seriality is BytesToTypes, TypesToBytes, SizeOf {\n\n function Seriality() public {\n\n }\n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol\":\"Seriality\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol\":{\"keccak256\":\"0x99a3de28e7cd28f161e692995a7bb566052015e663f69e503051ae125b91c490\",\"urls\":[\"bzz-raw://35391a26b38350ff720b2b990bbae6ee5d416021f57a525dc2eeaf5dced4317a\",\"dweb:/ipfs/QmakFie6vTvvSm34qktjXVDZaZMS3nBrpq4oyRz7JNBMef\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol\":{\"keccak256\":\"0xf773d46c715f6dd82fc4ba115b542c21ee6ebb26b32a52055d6032c9ed95fa74\",\"urls\":[\"bzz-raw://605cbfc900161d9343bff2eaae68423c3caeccc467f1e5f64a20d340367df7a5\",\"dweb:/ipfs/QmQ7AzFr3dFRCLcaLbJLxeJfAsMCh1oPnaFRyWP4e8xXfe\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol\":{\"keccak256\":\"0x50fdfb4ed7988490ff69c9a1af0da485eda3e7589bd77de12a357331f0c41dd7\",\"urls\":[\"bzz-raw://49a5d8316d0885442353a793cb12cf84979901ba909bc42f9699d3a1250ee1c1\",\"dweb:/ipfs/QmTGPtX86jCMFvuja8si8pGKSkasYHNtTKByqZq5cUeRcW\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol\":{\"keccak256\":\"0x444e6756306579f68ead7d74eae30a3d189f70346ddc6d57800fbea8069de37a\",\"urls\":[\"bzz-raw://b993cb5d7fc39c678a1d4333a6a6f6a373ba04527a0220ad32c8bf89dcf02968\",\"dweb:/ipfs/QmamvYKJ6FpwgvyR8uFNcqnQoHNpDMfrbRpamuV9WKEWrc\"]}},\"version\":1}", + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220e8e6fa1ae188dfc99871bca94a94bb4dc1a4ebd74c536b493b909990578cd03d64736f6c63430006040033", + "deployedBytecode": "0x6080604052600080fdfea2646970667358221220e8e6fa1ae188dfc99871bca94a94bb4dc1a4ebd74c536b493b909990578cd03d64736f6c63430006040033", + "sourceMap": "289:88:2:-:0;;;352:23;5:9:-1;2:2;;;27:1;24;17:12;2:2;352:23:2;289:88;;;;;;", + "deployedSourceMap": "289:88:2:-:0;;;12:1:-1;9;2:12", + "source": "pragma solidity ^0.6.4;\n\n/**\n * @title Seriality\n * @dev The Seriality contract is the main interface for serializing data using the TypeToBytes, BytesToType and SizeOf\n * @author pouladzade@gmail.com\n */\n\nimport \"./BytesToTypes.sol\";\nimport \"./TypesToBytes.sol\";\nimport \"./SizeOf.sol\";\n\n\ncontract Seriality is BytesToTypes, TypesToBytes, SizeOf {\n constructor() public {}\n}\n", "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol", "ast": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol", "exportedSymbols": { "Seriality": [ - 852 + 853 ] }, - "id": 853, + "id": 854, "nodeType": "SourceUnit", "nodes": [ { - "id": 838, + "id": 839, "literals": [ "solidity", "^", - "0.4", - ".16" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:2" + "src": "0:23:2" }, { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol", "file": "./BytesToTypes.sol", - "id": 839, + "id": 840, "nodeType": "ImportDirective", - "scope": 853, - "sourceUnit": 837, - "src": "208:28:2", + "scope": 854, + "sourceUnit": 838, + "src": "206:28:2", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol", "file": "./TypesToBytes.sol", - "id": 840, + "id": 841, "nodeType": "ImportDirective", - "scope": 853, - "sourceUnit": 1050, - "src": "237:28:2", + "scope": 854, + "sourceUnit": 1033, + "src": "235:28:2", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol", "file": "./SizeOf.sol", - "id": 841, + "id": 842, "nodeType": "ImportDirective", - "scope": 853, - "sourceUnit": 929, - "src": "266:22:2", + "scope": 854, + "sourceUnit": 933, + "src": "264:22:2", "symbolAliases": [], "unitAlias": "" }, { + "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, - "id": 842, + "id": 843, "name": "BytesToTypes", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 836, - "src": "312:12:2", + "referencedDeclaration": 837, + "src": "311:12:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_BytesToTypes_$836", + "typeIdentifier": "t_contract$_BytesToTypes_$837", "typeString": "contract BytesToTypes" } }, - "id": 843, + "id": 844, "nodeType": "InheritanceSpecifier", - "src": "312:12:2" + "src": "311:12:2" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 844, + "id": 845, "name": "TypesToBytes", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1049, - "src": "326:12:2", + "referencedDeclaration": 1032, + "src": "325:12:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_TypesToBytes_$1049", + "typeIdentifier": "t_contract$_TypesToBytes_$1032", "typeString": "contract TypesToBytes" } }, - "id": 845, + "id": 846, "nodeType": "InheritanceSpecifier", - "src": "326:12:2" + "src": "325:12:2" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 846, + "id": 847, "name": "SizeOf", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 928, - "src": "340:6:2", + "referencedDeclaration": 932, + "src": "339:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SizeOf_$928", + "typeIdentifier": "t_contract$_SizeOf_$932", "typeString": "contract SizeOf" } }, - "id": 847, + "id": 848, "nodeType": "InheritanceSpecifier", - "src": "340:6:2" + "src": "339:6:2" } ], "contractDependencies": [ - 836, - 928, - 1049 + 837, + 932, + 1032 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 852, + "id": 853, "linearizedBaseContracts": [ - 852, - 928, - 1049, - 836 + 853, + 932, + 1032, + 837 ], "name": "Seriality", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 850, + "id": 851, "nodeType": "Block", - "src": "382:8:2", + "src": "373:2:2", "statements": [] }, "documentation": null, - "id": 851, + "id": 852, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], - "name": "Seriality", + "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 848, + "id": 849, "nodeType": "ParameterList", "parameters": [], - "src": "372:2:2" + "src": "363:2:2" }, - "payable": false, "returnParameters": { - "id": 849, + "id": 850, "nodeType": "ParameterList", "parameters": [], - "src": "382:0:2" + "src": "373:0:2" }, - "scope": 852, - "src": "354:36:2", + "scope": 853, + "src": "352:23:2", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" } ], - "scope": 853, - "src": "290:102:2" + "scope": 854, + "src": "289:88:2" } ], - "src": "0:393:2" + "src": "0:378:2" }, "legacyAST": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol", "exportedSymbols": { "Seriality": [ - 852 + 853 ] }, - "id": 853, + "id": 854, "nodeType": "SourceUnit", "nodes": [ { - "id": 838, + "id": 839, "literals": [ "solidity", "^", - "0.4", - ".16" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:2" + "src": "0:23:2" }, { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol", "file": "./BytesToTypes.sol", - "id": 839, + "id": 840, "nodeType": "ImportDirective", - "scope": 853, - "sourceUnit": 837, - "src": "208:28:2", + "scope": 854, + "sourceUnit": 838, + "src": "206:28:2", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol", "file": "./TypesToBytes.sol", - "id": 840, + "id": 841, "nodeType": "ImportDirective", - "scope": 853, - "sourceUnit": 1050, - "src": "237:28:2", + "scope": 854, + "sourceUnit": 1033, + "src": "235:28:2", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol", "file": "./SizeOf.sol", - "id": 841, + "id": 842, "nodeType": "ImportDirective", - "scope": 853, - "sourceUnit": 929, - "src": "266:22:2", + "scope": 854, + "sourceUnit": 933, + "src": "264:22:2", "symbolAliases": [], "unitAlias": "" }, { + "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, - "id": 842, + "id": 843, "name": "BytesToTypes", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 836, - "src": "312:12:2", + "referencedDeclaration": 837, + "src": "311:12:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_BytesToTypes_$836", + "typeIdentifier": "t_contract$_BytesToTypes_$837", "typeString": "contract BytesToTypes" } }, - "id": 843, + "id": 844, "nodeType": "InheritanceSpecifier", - "src": "312:12:2" + "src": "311:12:2" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 844, + "id": 845, "name": "TypesToBytes", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1049, - "src": "326:12:2", + "referencedDeclaration": 1032, + "src": "325:12:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_TypesToBytes_$1049", + "typeIdentifier": "t_contract$_TypesToBytes_$1032", "typeString": "contract TypesToBytes" } }, - "id": 845, + "id": 846, "nodeType": "InheritanceSpecifier", - "src": "326:12:2" + "src": "325:12:2" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 846, + "id": 847, "name": "SizeOf", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 928, - "src": "340:6:2", + "referencedDeclaration": 932, + "src": "339:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SizeOf_$928", + "typeIdentifier": "t_contract$_SizeOf_$932", "typeString": "contract SizeOf" } }, - "id": 847, + "id": 848, "nodeType": "InheritanceSpecifier", - "src": "340:6:2" + "src": "339:6:2" } ], "contractDependencies": [ - 836, - 928, - 1049 + 837, + 932, + 1032 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 852, + "id": 853, "linearizedBaseContracts": [ - 852, - 928, - 1049, - 836 + 853, + 932, + 1032, + 837 ], "name": "Seriality", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 850, + "id": 851, "nodeType": "Block", - "src": "382:8:2", + "src": "373:2:2", "statements": [] }, "documentation": null, - "id": 851, + "id": 852, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], - "name": "Seriality", + "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 848, + "id": 849, "nodeType": "ParameterList", "parameters": [], - "src": "372:2:2" + "src": "363:2:2" }, - "payable": false, "returnParameters": { - "id": 849, + "id": 850, "nodeType": "ParameterList", "parameters": [], - "src": "382:0:2" + "src": "373:0:2" }, - "scope": 852, - "src": "354:36:2", + "scope": 853, + "src": "352:23:2", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" } ], - "scope": 853, - "src": "290:102:2" + "scope": 854, + "src": "289:88:2" } ], - "src": "0:393:2" + "src": "0:378:2" }, "compiler": { "name": "solc", - "version": "0.4.26+commit.4563c3fc.Emscripten.clang" + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.11", - "updatedAt": "2019-06-26T04:51:10.199Z", + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T00:50:13.947Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/SizeOf.json b/build/contracts/SizeOf.json index 3f564a4..5dedf59 100644 --- a/build/contracts/SizeOf.json +++ b/build/contracts/SizeOf.json @@ -1,69 +1,75 @@ { "contractName": "SizeOf", "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"pouladzade@gmail.com\",\"methods\":{},\"title\":\"SizeOf\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol\":\"SizeOf\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol\":{\"keccak256\":\"0x280f6854ddf4d9b6b38c9fa51b4422b9a45f18a2e29f428a0f8174134e5836c9\",\"urls\":[\"bzzr://5b029fc6b26d749e509517a25c09150d741a028a6e05889e42fda0e6f6ba8d36\"]}},\"version\":1}", - "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a7230582022b7c4a30eaf21e2f1077116c5e76acd8fca2f53dd99fafdee8b353a47b469c20029", - "deployedBytecode": "0x6080604052600080fd00a165627a7a7230582022b7c4a30eaf21e2f1077116c5e76acd8fca2f53dd99fafdee8b353a47b469c20029", - "sourceMap": "149:2062:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;149:2062:3;;;;;;;", - "deployedSourceMap": "149:2062:3:-;;;;;", - "source": "pragma solidity ^0.4.16;\n\n/**\n * @title SizeOf\n * @dev The SizeOf return the size of the solidity types in byte\n * @author pouladzade@gmail.com\n */\n\ncontract SizeOf {\n \n function sizeOfString(string _in) internal pure returns(uint _size){\n _size = bytes(_in).length / 32;\n if(bytes(_in).length % 32 != 0) \n _size++;\n \n _size++; // first 32 bytes is reserved for the size of the string \n _size *= 32;\n }\n\n function sizeOfInt(uint16 _postfix) internal pure returns(uint size){\n\n assembly{\n switch _postfix\n case 8 { size := 1 }\n case 16 { size := 2 }\n case 24 { size := 3 }\n case 32 { size := 4 }\n case 40 { size := 5 }\n case 48 { size := 6 }\n case 56 { size := 7 }\n case 64 { size := 8 }\n case 72 { size := 9 }\n case 80 { size := 10 }\n case 88 { size := 11 }\n case 96 { size := 12 }\n case 104 { size := 13 }\n case 112 { size := 14 }\n case 120 { size := 15 }\n case 128 { size := 16 }\n case 136 { size := 17 }\n case 144 { size := 18 }\n case 152 { size := 19 }\n case 160 { size := 20 }\n case 168 { size := 21 }\n case 176 { size := 22 }\n case 184 { size := 23 }\n case 192 { size := 24 }\n case 200 { size := 25 }\n case 208 { size := 26 }\n case 216 { size := 27 }\n case 224 { size := 28 }\n case 232 { size := 29 }\n case 240 { size := 30 }\n case 248 { size := 31 }\n case 256 { size := 32 }\n default { size := 32 }\n }\n\n }\n \n function sizeOfUint(uint16 _postfix) internal pure returns(uint size){\n return sizeOfInt(_postfix);\n }\n\n function sizeOfAddress() internal pure returns(uint8){\n return 20; \n }\n \n function sizeOfBool() internal pure returns(uint8){\n return 1; \n }\n \n\n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"pouladzade@gmail.com\",\"details\":\"The SizeOf return the size of the solidity types in byte\",\"methods\":{},\"title\":\"SizeOf\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol\":\"SizeOf\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol\":{\"keccak256\":\"0x50fdfb4ed7988490ff69c9a1af0da485eda3e7589bd77de12a357331f0c41dd7\",\"urls\":[\"bzz-raw://49a5d8316d0885442353a793cb12cf84979901ba909bc42f9699d3a1250ee1c1\",\"dweb:/ipfs/QmTGPtX86jCMFvuja8si8pGKSkasYHNtTKByqZq5cUeRcW\"]}},\"version\":1}", + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122071ef65080f73c6fbbc4880164328a5fb04235c63228d3f2e3ffde913199ea6e364736f6c63430006040033", + "deployedBytecode": "0x6080604052600080fdfea264697066735822122071ef65080f73c6fbbc4880164328a5fb04235c63228d3f2e3ffde913199ea6e364736f6c63430006040033", + "sourceMap": "149:3245:3:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;149:3245:3;;;;;;;", + "deployedSourceMap": "149:3245:3:-:0;;;12:1:-1;9;2:12", + "source": "pragma solidity ^0.6.4;\n\n\n/**\n * @title SizeOf\n * @dev The SizeOf return the size of the solidity types in byte\n * @author pouladzade@gmail.com\n */\n\ncontract SizeOf {\n function sizeOfString(string memory _in)\n internal\n pure\n returns (uint256 _size)\n {\n _size = bytes(_in).length / 32;\n if (bytes(_in).length % 32 != 0) _size++;\n\n _size++; // first 32 bytes is reserved for the size of the string\n _size *= 32;\n }\n\n function sizeOfInt(uint16 _postfix) internal pure returns (uint256 size) {\n assembly {\n switch _postfix\n case 8 {\n size := 1\n }\n case 16 {\n size := 2\n }\n case 24 {\n size := 3\n }\n case 32 {\n size := 4\n }\n case 40 {\n size := 5\n }\n case 48 {\n size := 6\n }\n case 56 {\n size := 7\n }\n case 64 {\n size := 8\n }\n case 72 {\n size := 9\n }\n case 80 {\n size := 10\n }\n case 88 {\n size := 11\n }\n case 96 {\n size := 12\n }\n case 104 {\n size := 13\n }\n case 112 {\n size := 14\n }\n case 120 {\n size := 15\n }\n case 128 {\n size := 16\n }\n case 136 {\n size := 17\n }\n case 144 {\n size := 18\n }\n case 152 {\n size := 19\n }\n case 160 {\n size := 20\n }\n case 168 {\n size := 21\n }\n case 176 {\n size := 22\n }\n case 184 {\n size := 23\n }\n case 192 {\n size := 24\n }\n case 200 {\n size := 25\n }\n case 208 {\n size := 26\n }\n case 216 {\n size := 27\n }\n case 224 {\n size := 28\n }\n case 232 {\n size := 29\n }\n case 240 {\n size := 30\n }\n case 248 {\n size := 31\n }\n case 256 {\n size := 32\n }\n default {\n size := 32\n }\n }\n }\n\n function sizeOfUint(uint16 _postfix) internal pure returns (uint256 size) {\n return sizeOfInt(_postfix);\n }\n\n function sizeOfAddress() internal pure returns (uint8) {\n return 20;\n }\n\n function sizeOfBool() internal pure returns (uint8) {\n return 1;\n }\n}\n", "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol", "ast": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol", "exportedSymbols": { "SizeOf": [ - 928 + 932 ] }, - "id": 929, + "id": 933, "nodeType": "SourceUnit", "nodes": [ { - "id": 854, + "id": 855, "literals": [ "solidity", "^", - "0.4", - ".16" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:3" + "src": "0:23:3" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@title SizeOf\n@dev The SizeOf return the size of the solidity types in byte\n@author pouladzade@gmail.com", + "documentation": { + "id": 856, + "nodeType": "StructuredDocumentation", + "src": "26:121:3", + "text": "@title SizeOf\n@dev The SizeOf return the size of the solidity types in byte\n@author pouladzade@gmail.com" + }, "fullyImplemented": true, - "id": 928, + "id": 932, "linearizedBaseContracts": [ - 928 + 932 ], "name": "SizeOf", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 889, + "id": 893, "nodeType": "Block", - "src": "245:223:3", + "src": "278:193:3", "statements": [ { "expression": { "argumentTypes": null, - "id": 868, + "id": 871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 861, + "id": 863, "name": "_size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "255:5:3", + "referencedDeclaration": 861, + "src": "288:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -77,7 +83,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 867, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -89,12 +95,12 @@ "arguments": [ { "argumentTypes": null, - "id": 863, + "id": 866, "name": "_in", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "269:3:3", + "referencedDeclaration": 858, + "src": "302:3:3", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -108,20 +114,29 @@ "typeString": "string memory" } ], - "id": 862, + "id": 865, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "263:5:3", + "src": "296:5:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, - "typeName": "bytes" + "typeName": { + "id": 864, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "296:5:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } }, - "id": 864, + "id": 867, "isConstant": false, "isLValue": false, "isPure": false, @@ -129,13 +144,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "263:10:3", + "src": "296:10:3", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", + "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 865, + "id": 868, "isConstant": false, "isLValue": false, "isPure": false, @@ -143,7 +159,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "263:17:3", + "src": "296:17:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -154,14 +170,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 866, + "id": 869, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "283:2:3", + "src": "316:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -169,21 +185,21 @@ }, "value": "32" }, - "src": "263:22:3", + "src": "296:22:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "255:30:3", + "src": "288:30:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 869, + "id": 872, "nodeType": "ExpressionStatement", - "src": "255:30:3" + "src": "288:30:3" }, { "condition": { @@ -192,7 +208,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 877, + "id": 881, "isConstant": false, "isLValue": false, "isPure": false, @@ -203,7 +219,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 875, + "id": 879, "isConstant": false, "isLValue": false, "isPure": false, @@ -215,12 +231,12 @@ "arguments": [ { "argumentTypes": null, - "id": 871, + "id": 875, "name": "_in", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "305:3:3", + "referencedDeclaration": 858, + "src": "338:3:3", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -234,20 +250,29 @@ "typeString": "string memory" } ], - "id": 870, + "id": 874, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "299:5:3", + "src": "332:5:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, - "typeName": "bytes" + "typeName": { + "id": 873, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "332:5:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } }, - "id": 872, + "id": 876, "isConstant": false, "isLValue": false, "isPure": false, @@ -255,13 +280,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "299:10:3", + "src": "332:10:3", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", + "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 873, + "id": 877, "isConstant": false, "isLValue": false, "isPure": false, @@ -269,7 +295,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "299:17:3", + "src": "332:17:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -280,14 +306,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 874, + "id": 878, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "319:2:3", + "src": "352:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -295,7 +321,7 @@ }, "value": "32" }, - "src": "299:22:3", + "src": "332:22:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -306,14 +332,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 876, + "id": 880, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "325:1:3", + "src": "358:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -321,20 +347,20 @@ }, "value": "0" }, - "src": "299:27:3", + "src": "332:27:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 881, + "id": 885, "nodeType": "IfStatement", - "src": "296:52:3", + "src": "328:40:3", "trueBody": { "expression": { "argumentTypes": null, - "id": 879, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, @@ -342,15 +368,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "341:7:3", + "src": "361:7:3", "subExpression": { "argumentTypes": null, - "id": 878, + "id": 882, "name": "_size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "341:5:3", + "referencedDeclaration": 861, + "src": "361:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -361,15 +387,15 @@ "typeString": "uint256" } }, - "id": 880, + "id": 884, "nodeType": "ExpressionStatement", - "src": "341:7:3" + "src": "361:7:3" } }, { "expression": { "argumentTypes": null, - "id": 883, + "id": 887, "isConstant": false, "isLValue": false, "isPure": false, @@ -377,15 +403,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "371:7:3", + "src": "379:7:3", "subExpression": { "argumentTypes": null, - "id": 882, + "id": 886, "name": "_size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "371:5:3", + "referencedDeclaration": 861, + "src": "379:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -396,26 +422,26 @@ "typeString": "uint256" } }, - "id": 884, + "id": 888, "nodeType": "ExpressionStatement", - "src": "371:7:3" + "src": "379:7:3" }, { "expression": { "argumentTypes": null, - "id": 887, + "id": 891, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 885, + "id": 889, "name": "_size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "450:5:3", + "referencedDeclaration": 861, + "src": "453:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -426,14 +452,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3332", - "id": 886, + "id": 890, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "459:2:3", + "src": "462:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -441,48 +467,49 @@ }, "value": "32" }, - "src": "450:11:3", + "src": "453:11:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 888, + "id": 892, "nodeType": "ExpressionStatement", - "src": "450:11:3" + "src": "453:11:3" } ] }, "documentation": null, - "id": 890, + "id": 894, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sizeOfString", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 857, + "id": 859, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 856, + "id": 858, "name": "_in", "nodeType": "VariableDeclaration", - "scope": 890, - "src": "199:10:3", + "overrides": null, + "scope": 894, + "src": "193:17:3", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { - "id": 855, + "id": 857, "name": "string", "nodeType": "ElementaryTypeName", - "src": "199:6:3", + "src": "193:6:3", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -492,20 +519,20 @@ "visibility": "internal" } ], - "src": "198:12:3" + "src": "192:19:3" }, - "payable": false, "returnParameters": { - "id": 860, + "id": 862, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 859, + "id": 861, "name": "_size", "nodeType": "VariableDeclaration", - "scope": 890, - "src": "234:10:3", + "overrides": null, + "scope": 894, + "src": "259:13:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -513,10 +540,10 @@ "typeString": "uint256" }, "typeName": { - "id": 858, - "name": "uint", + "id": 860, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "234:4:3", + "src": "259:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -526,355 +553,1454 @@ "visibility": "internal" } ], - "src": "233:12:3" + "src": "258:15:3" }, - "scope": 928, - "src": "177:291:3", + "scope": 932, + "src": "171:300:3", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 898, + "id": 902, "nodeType": "Block", - "src": "543:1363:3", + "src": "550:2549:3", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "569:2524:3", + "statements": [ + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "622:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "644:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "652:1:3", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "644:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "615:56:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "620:1:3", + "type": "", + "value": "8" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "696:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "718:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "726:1:3", + "type": "", + "value": "2" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "718:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "688:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "693:2:3", + "type": "", + "value": "16" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "770:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "792:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "800:1:3", + "type": "", + "value": "3" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "792:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "762:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "767:2:3", + "type": "", + "value": "24" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "844:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "866:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "874:1:3", + "type": "", + "value": "4" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "866:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "836:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "841:2:3", + "type": "", + "value": "32" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "918:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "940:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "948:1:3", + "type": "", + "value": "5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "940:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "910:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "915:2:3", + "type": "", + "value": "40" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "992:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1014:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1022:1:3", + "type": "", + "value": "6" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1014:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "984:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "989:2:3", + "type": "", + "value": "48" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1066:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1088:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1096:1:3", + "type": "", + "value": "7" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1088:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1058:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1063:2:3", + "type": "", + "value": "56" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1140:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1162:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1170:1:3", + "type": "", + "value": "8" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1162:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1132:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1137:2:3", + "type": "", + "value": "64" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1214:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1236:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1244:1:3", + "type": "", + "value": "9" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1236:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1206:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1211:2:3", + "type": "", + "value": "72" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1288:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1310:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1318:2:3", + "type": "", + "value": "10" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1310:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1280:58:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1285:2:3", + "type": "", + "value": "80" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1363:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1385:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1393:2:3", + "type": "", + "value": "11" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1385:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1355:58:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1360:2:3", + "type": "", + "value": "88" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1438:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1460:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1468:2:3", + "type": "", + "value": "12" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1460:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1430:58:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1435:2:3", + "type": "", + "value": "96" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1514:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1536:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1544:2:3", + "type": "", + "value": "13" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1536:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1505:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1510:3:3", + "type": "", + "value": "104" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1590:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1612:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1620:2:3", + "type": "", + "value": "14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1612:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1581:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1586:3:3", + "type": "", + "value": "112" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1666:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1688:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1696:2:3", + "type": "", + "value": "15" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1688:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1657:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1662:3:3", + "type": "", + "value": "120" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1742:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1764:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1772:2:3", + "type": "", + "value": "16" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1764:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1733:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1738:3:3", + "type": "", + "value": "128" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1818:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1840:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1848:2:3", + "type": "", + "value": "17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1840:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1809:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1814:3:3", + "type": "", + "value": "136" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1894:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1916:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1924:2:3", + "type": "", + "value": "18" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1916:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1885:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1890:3:3", + "type": "", + "value": "144" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1970:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1992:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2000:2:3", + "type": "", + "value": "19" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1992:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1961:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1966:3:3", + "type": "", + "value": "152" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2046:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2068:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2076:2:3", + "type": "", + "value": "20" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2068:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2037:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2042:3:3", + "type": "", + "value": "160" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2122:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2144:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2152:2:3", + "type": "", + "value": "21" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2144:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2113:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2118:3:3", + "type": "", + "value": "168" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2198:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2220:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2228:2:3", + "type": "", + "value": "22" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2220:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2189:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2194:3:3", + "type": "", + "value": "176" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2274:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2296:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2304:2:3", + "type": "", + "value": "23" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2296:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2265:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2270:3:3", + "type": "", + "value": "184" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2350:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2372:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2380:2:3", + "type": "", + "value": "24" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2372:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2341:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2346:3:3", + "type": "", + "value": "192" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2426:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2448:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2456:2:3", + "type": "", + "value": "25" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2448:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2417:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2422:3:3", + "type": "", + "value": "200" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2502:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2524:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2532:2:3", + "type": "", + "value": "26" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2524:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2493:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2498:3:3", + "type": "", + "value": "208" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2578:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2600:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2608:2:3", + "type": "", + "value": "27" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2600:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2569:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2574:3:3", + "type": "", + "value": "216" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2654:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2676:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2684:2:3", + "type": "", + "value": "28" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2676:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2645:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2650:3:3", + "type": "", + "value": "224" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2730:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2752:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2760:2:3", + "type": "", + "value": "29" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2752:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2721:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2726:3:3", + "type": "", + "value": "232" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2806:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2828:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2836:2:3", + "type": "", + "value": "30" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2828:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2797:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2802:3:3", + "type": "", + "value": "240" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2882:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2904:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2912:2:3", + "type": "", + "value": "31" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2904:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2873:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2878:3:3", + "type": "", + "value": "248" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2958:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2980:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2988:2:3", + "type": "", + "value": "32" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2980:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2949:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2954:3:3", + "type": "", + "value": "256" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3033:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3055:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3063:2:3", + "type": "", + "value": "32" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "3055:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "3025:58:3", + "value": "default" + } + ], + "expression": { + "name": "_postfix", + "nodeType": "YulIdentifier", + "src": "590:8:3" + }, + "nodeType": "YulSwitch", + "src": "583:2500:3" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_postfix": { - "declaration": 892, - "isOffset": false, - "isSlot": false, - "src": "583:8:3", - "valueSize": 1 - } + "declaration": 896, + "isOffset": false, + "isSlot": false, + "src": "590:8:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "617:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1014:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "693:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1088:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "655:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1162:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "731:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1236:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "807:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1310:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "845:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1385:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "769:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1460:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "959:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1536:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "998:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1612:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "883:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1688:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "921:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1764:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1277:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1840:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1317:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1916:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1357:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1992:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1397:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2068:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1037:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2144:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1077:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2220:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1117:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2296:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1157:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2372:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1197:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2448:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1237:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2524:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1437:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2600:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1477:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2676:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1517:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2752:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1557:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2828:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1597:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2904:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1637:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2980:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1677:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "3055:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1717:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "644:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1757:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "718:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1797:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "792:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1837:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "866:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1877:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "940:4:3", + "valueSize": 1 } ], - "id": 897, + "id": 901, "nodeType": "InlineAssembly", - "operations": "{\n switch _postfix\n case 8 {\n size := 1\n }\n case 16 {\n size := 2\n }\n case 24 {\n size := 3\n }\n case 32 {\n size := 4\n }\n case 40 {\n size := 5\n }\n case 48 {\n size := 6\n }\n case 56 {\n size := 7\n }\n case 64 {\n size := 8\n }\n case 72 {\n size := 9\n }\n case 80 {\n size := 10\n }\n case 88 {\n size := 11\n }\n case 96 {\n size := 12\n }\n case 104 {\n size := 13\n }\n case 112 {\n size := 14\n }\n case 120 {\n size := 15\n }\n case 128 {\n size := 16\n }\n case 136 {\n size := 17\n }\n case 144 {\n size := 18\n }\n case 152 {\n size := 19\n }\n case 160 {\n size := 20\n }\n case 168 {\n size := 21\n }\n case 176 {\n size := 22\n }\n case 184 {\n size := 23\n }\n case 192 {\n size := 24\n }\n case 200 {\n size := 25\n }\n case 208 {\n size := 26\n }\n case 216 {\n size := 27\n }\n case 224 {\n size := 28\n }\n case 232 {\n size := 29\n }\n case 240 {\n size := 30\n }\n case 248 {\n size := 31\n }\n case 256 {\n size := 32\n }\n default {\n size := 32\n }\n}", - "src": "554:1352:3" + "src": "560:2533:3" } ] }, "documentation": null, - "id": 899, + "id": 903, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sizeOfInt", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 893, + "id": 897, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 892, + "id": 896, "name": "_postfix", "nodeType": "VariableDeclaration", - "scope": 899, - "src": "493:15:3", + "overrides": null, + "scope": 903, + "src": "496:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -882,10 +2008,10 @@ "typeString": "uint16" }, "typeName": { - "id": 891, + "id": 895, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "493:6:3", + "src": "496:6:3", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -895,20 +2021,20 @@ "visibility": "internal" } ], - "src": "492:17:3" + "src": "495:17:3" }, - "payable": false, "returnParameters": { - "id": 896, + "id": 900, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 895, + "id": 899, "name": "size", "nodeType": "VariableDeclaration", - "scope": 899, - "src": "533:9:3", + "overrides": null, + "scope": 903, + "src": "536:12:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -916,10 +2042,10 @@ "typeString": "uint256" }, "typeName": { - "id": 894, - "name": "uint", + "id": 898, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "533:4:3", + "src": "536:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -929,19 +2055,19 @@ "visibility": "internal" } ], - "src": "532:11:3" + "src": "535:14:3" }, - "scope": 928, - "src": "474:1432:3", + "scope": 932, + "src": "477:2622:3", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 910, + "id": 914, "nodeType": "Block", - "src": "1986:43:3", + "src": "3179:43:3", "statements": [ { "expression": { @@ -949,12 +2075,12 @@ "arguments": [ { "argumentTypes": null, - "id": 907, + "id": 911, "name": "_postfix", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "2013:8:3", + "referencedDeclaration": 905, + "src": "3206:8:3", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -968,18 +2094,18 @@ "typeString": "uint16" } ], - "id": 906, + "id": 910, "name": "sizeOfInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "2003:9:3", + "referencedDeclaration": 903, + "src": "3196:9:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint16_$returns$_t_uint256_$", "typeString": "function (uint16) pure returns (uint256)" } }, - "id": 908, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, @@ -987,38 +2113,40 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2003:19:3", + "src": "3196:19:3", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 905, - "id": 909, + "functionReturnParameters": 909, + "id": 913, "nodeType": "Return", - "src": "1996:26:3" + "src": "3189:26:3" } ] }, "documentation": null, - "id": 911, + "id": 915, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sizeOfUint", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 902, + "id": 906, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 901, + "id": 905, "name": "_postfix", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1936:15:3", + "overrides": null, + "scope": 915, + "src": "3125:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1026,10 +2154,10 @@ "typeString": "uint16" }, "typeName": { - "id": 900, + "id": 904, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "1936:6:3", + "src": "3125:6:3", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -1039,20 +2167,20 @@ "visibility": "internal" } ], - "src": "1935:17:3" + "src": "3124:17:3" }, - "payable": false, "returnParameters": { - "id": 905, + "id": 909, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 904, + "id": 908, "name": "size", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1976:9:3", + "overrides": null, + "scope": 915, + "src": "3165:12:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1060,10 +2188,10 @@ "typeString": "uint256" }, "typeName": { - "id": 903, - "name": "uint", + "id": 907, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1976:4:3", + "src": "3165:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1073,32 +2201,32 @@ "visibility": "internal" } ], - "src": "1975:11:3" + "src": "3164:14:3" }, - "scope": 928, - "src": "1916:113:3", + "scope": 932, + "src": "3105:117:3", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 918, + "id": 922, "nodeType": "Block", - "src": "2089:27:3", + "src": "3283:26:3", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "3230", - "id": 916, + "id": 920, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2106:2:3", + "src": "3300:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", @@ -1106,39 +2234,39 @@ }, "value": "20" }, - "functionReturnParameters": 915, - "id": 917, + "functionReturnParameters": 919, + "id": 921, "nodeType": "Return", - "src": "2099:9:3" + "src": "3293:9:3" } ] }, "documentation": null, - "id": 919, + "id": 923, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sizeOfAddress", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 912, + "id": 916, "nodeType": "ParameterList", "parameters": [], - "src": "2057:2:3" + "src": "3250:2:3" }, - "payable": false, "returnParameters": { - "id": 915, + "id": 919, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 914, + "id": 918, "name": "", "nodeType": "VariableDeclaration", - "scope": 919, - "src": "2083:5:3", + "overrides": null, + "scope": 923, + "src": "3276:5:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1146,10 +2274,10 @@ "typeString": "uint8" }, "typeName": { - "id": 913, + "id": 917, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2083:5:3", + "src": "3276:5:3", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1159,32 +2287,32 @@ "visibility": "internal" } ], - "src": "2082:7:3" + "src": "3275:7:3" }, - "scope": 928, - "src": "2035:81:3", + "scope": 932, + "src": "3228:81:3", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 926, + "id": 930, "nodeType": "Block", - "src": "2177:26:3", + "src": "3367:25:3", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "31", - "id": 924, + "id": 928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2194:1:3", + "src": "3384:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -1192,39 +2320,39 @@ }, "value": "1" }, - "functionReturnParameters": 923, - "id": 925, + "functionReturnParameters": 927, + "id": 929, "nodeType": "Return", - "src": "2187:8:3" + "src": "3377:8:3" } ] }, "documentation": null, - "id": 927, + "id": 931, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sizeOfBool", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 920, + "id": 924, "nodeType": "ParameterList", "parameters": [], - "src": "2145:2:3" + "src": "3334:2:3" }, - "payable": false, "returnParameters": { - "id": 923, + "id": 927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 922, + "id": 926, "name": "", "nodeType": "VariableDeclaration", - "scope": 927, - "src": "2171:5:3", + "overrides": null, + "scope": 931, + "src": "3360:5:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1232,10 +2360,10 @@ "typeString": "uint8" }, "typeName": { - "id": 921, + "id": 925, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2171:5:3", + "src": "3360:5:3", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1245,77 +2373,83 @@ "visibility": "internal" } ], - "src": "2170:7:3" + "src": "3359:7:3" }, - "scope": 928, - "src": "2126:77:3", + "scope": 932, + "src": "3315:77:3", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" } ], - "scope": 929, - "src": "149:2062:3" + "scope": 933, + "src": "149:3245:3" } ], - "src": "0:2212:3" + "src": "0:3395:3" }, "legacyAST": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol", "exportedSymbols": { "SizeOf": [ - 928 + 932 ] }, - "id": 929, + "id": 933, "nodeType": "SourceUnit", "nodes": [ { - "id": 854, + "id": 855, "literals": [ "solidity", "^", - "0.4", - ".16" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:3" + "src": "0:23:3" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@title SizeOf\n@dev The SizeOf return the size of the solidity types in byte\n@author pouladzade@gmail.com", + "documentation": { + "id": 856, + "nodeType": "StructuredDocumentation", + "src": "26:121:3", + "text": "@title SizeOf\n@dev The SizeOf return the size of the solidity types in byte\n@author pouladzade@gmail.com" + }, "fullyImplemented": true, - "id": 928, + "id": 932, "linearizedBaseContracts": [ - 928 + 932 ], "name": "SizeOf", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 889, + "id": 893, "nodeType": "Block", - "src": "245:223:3", + "src": "278:193:3", "statements": [ { "expression": { "argumentTypes": null, - "id": 868, + "id": 871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 861, + "id": 863, "name": "_size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "255:5:3", + "referencedDeclaration": 861, + "src": "288:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1329,7 +2463,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 867, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -1341,12 +2475,12 @@ "arguments": [ { "argumentTypes": null, - "id": 863, + "id": 866, "name": "_in", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "269:3:3", + "referencedDeclaration": 858, + "src": "302:3:3", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1360,20 +2494,29 @@ "typeString": "string memory" } ], - "id": 862, + "id": 865, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "263:5:3", + "src": "296:5:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, - "typeName": "bytes" + "typeName": { + "id": 864, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "296:5:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } }, - "id": 864, + "id": 867, "isConstant": false, "isLValue": false, "isPure": false, @@ -1381,13 +2524,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "263:10:3", + "src": "296:10:3", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", + "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 865, + "id": 868, "isConstant": false, "isLValue": false, "isPure": false, @@ -1395,7 +2539,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "263:17:3", + "src": "296:17:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1406,14 +2550,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 866, + "id": 869, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "283:2:3", + "src": "316:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -1421,21 +2565,21 @@ }, "value": "32" }, - "src": "263:22:3", + "src": "296:22:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "255:30:3", + "src": "288:30:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 869, + "id": 872, "nodeType": "ExpressionStatement", - "src": "255:30:3" + "src": "288:30:3" }, { "condition": { @@ -1444,7 +2588,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 877, + "id": 881, "isConstant": false, "isLValue": false, "isPure": false, @@ -1455,7 +2599,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 875, + "id": 879, "isConstant": false, "isLValue": false, "isPure": false, @@ -1467,12 +2611,12 @@ "arguments": [ { "argumentTypes": null, - "id": 871, + "id": 875, "name": "_in", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "305:3:3", + "referencedDeclaration": 858, + "src": "338:3:3", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1486,20 +2630,29 @@ "typeString": "string memory" } ], - "id": 870, + "id": 874, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "299:5:3", + "src": "332:5:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, - "typeName": "bytes" + "typeName": { + "id": 873, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "332:5:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } }, - "id": 872, + "id": 876, "isConstant": false, "isLValue": false, "isPure": false, @@ -1507,13 +2660,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "299:10:3", + "src": "332:10:3", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", + "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 873, + "id": 877, "isConstant": false, "isLValue": false, "isPure": false, @@ -1521,7 +2675,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "299:17:3", + "src": "332:17:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1532,14 +2686,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 874, + "id": 878, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "319:2:3", + "src": "352:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -1547,7 +2701,7 @@ }, "value": "32" }, - "src": "299:22:3", + "src": "332:22:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1558,14 +2712,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 876, + "id": 880, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "325:1:3", + "src": "358:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1573,20 +2727,20 @@ }, "value": "0" }, - "src": "299:27:3", + "src": "332:27:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 881, + "id": 885, "nodeType": "IfStatement", - "src": "296:52:3", + "src": "328:40:3", "trueBody": { "expression": { "argumentTypes": null, - "id": 879, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, @@ -1594,15 +2748,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "341:7:3", + "src": "361:7:3", "subExpression": { "argumentTypes": null, - "id": 878, + "id": 882, "name": "_size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "341:5:3", + "referencedDeclaration": 861, + "src": "361:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1613,15 +2767,15 @@ "typeString": "uint256" } }, - "id": 880, + "id": 884, "nodeType": "ExpressionStatement", - "src": "341:7:3" + "src": "361:7:3" } }, { "expression": { "argumentTypes": null, - "id": 883, + "id": 887, "isConstant": false, "isLValue": false, "isPure": false, @@ -1629,15 +2783,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "371:7:3", + "src": "379:7:3", "subExpression": { "argumentTypes": null, - "id": 882, + "id": 886, "name": "_size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "371:5:3", + "referencedDeclaration": 861, + "src": "379:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1648,26 +2802,26 @@ "typeString": "uint256" } }, - "id": 884, + "id": 888, "nodeType": "ExpressionStatement", - "src": "371:7:3" + "src": "379:7:3" }, { "expression": { "argumentTypes": null, - "id": 887, + "id": 891, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 885, + "id": 889, "name": "_size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "450:5:3", + "referencedDeclaration": 861, + "src": "453:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1678,14 +2832,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3332", - "id": 886, + "id": 890, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "459:2:3", + "src": "462:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -1693,48 +2847,49 @@ }, "value": "32" }, - "src": "450:11:3", + "src": "453:11:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 888, + "id": 892, "nodeType": "ExpressionStatement", - "src": "450:11:3" + "src": "453:11:3" } ] }, "documentation": null, - "id": 890, + "id": 894, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sizeOfString", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 857, + "id": 859, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 856, + "id": 858, "name": "_in", "nodeType": "VariableDeclaration", - "scope": 890, - "src": "199:10:3", + "overrides": null, + "scope": 894, + "src": "193:17:3", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { - "id": 855, + "id": 857, "name": "string", "nodeType": "ElementaryTypeName", - "src": "199:6:3", + "src": "193:6:3", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1744,20 +2899,20 @@ "visibility": "internal" } ], - "src": "198:12:3" + "src": "192:19:3" }, - "payable": false, "returnParameters": { - "id": 860, + "id": 862, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 859, + "id": 861, "name": "_size", "nodeType": "VariableDeclaration", - "scope": 890, - "src": "234:10:3", + "overrides": null, + "scope": 894, + "src": "259:13:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1765,10 +2920,10 @@ "typeString": "uint256" }, "typeName": { - "id": 858, - "name": "uint", + "id": 860, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "234:4:3", + "src": "259:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1778,355 +2933,1454 @@ "visibility": "internal" } ], - "src": "233:12:3" + "src": "258:15:3" }, - "scope": 928, - "src": "177:291:3", + "scope": 932, + "src": "171:300:3", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 898, + "id": 902, "nodeType": "Block", - "src": "543:1363:3", + "src": "550:2549:3", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "569:2524:3", + "statements": [ + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "622:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "644:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "652:1:3", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "644:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "615:56:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "620:1:3", + "type": "", + "value": "8" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "696:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "718:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "726:1:3", + "type": "", + "value": "2" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "718:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "688:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "693:2:3", + "type": "", + "value": "16" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "770:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "792:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "800:1:3", + "type": "", + "value": "3" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "792:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "762:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "767:2:3", + "type": "", + "value": "24" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "844:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "866:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "874:1:3", + "type": "", + "value": "4" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "866:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "836:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "841:2:3", + "type": "", + "value": "32" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "918:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "940:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "948:1:3", + "type": "", + "value": "5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "940:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "910:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "915:2:3", + "type": "", + "value": "40" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "992:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1014:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1022:1:3", + "type": "", + "value": "6" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1014:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "984:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "989:2:3", + "type": "", + "value": "48" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1066:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1088:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1096:1:3", + "type": "", + "value": "7" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1088:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1058:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1063:2:3", + "type": "", + "value": "56" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1140:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1162:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1170:1:3", + "type": "", + "value": "8" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1162:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1132:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1137:2:3", + "type": "", + "value": "64" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1214:49:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1236:9:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1244:1:3", + "type": "", + "value": "9" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1236:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1206:57:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1211:2:3", + "type": "", + "value": "72" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1288:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1310:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1318:2:3", + "type": "", + "value": "10" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1310:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1280:58:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1285:2:3", + "type": "", + "value": "80" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1363:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1385:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1393:2:3", + "type": "", + "value": "11" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1385:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1355:58:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1360:2:3", + "type": "", + "value": "88" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1438:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1460:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1468:2:3", + "type": "", + "value": "12" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1460:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1430:58:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1435:2:3", + "type": "", + "value": "96" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1514:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1536:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1544:2:3", + "type": "", + "value": "13" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1536:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1505:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1510:3:3", + "type": "", + "value": "104" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1590:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1612:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1620:2:3", + "type": "", + "value": "14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1612:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1581:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1586:3:3", + "type": "", + "value": "112" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1666:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1688:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1696:2:3", + "type": "", + "value": "15" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1688:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1657:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1662:3:3", + "type": "", + "value": "120" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1742:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1764:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1772:2:3", + "type": "", + "value": "16" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1764:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1733:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1738:3:3", + "type": "", + "value": "128" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1818:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1840:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1848:2:3", + "type": "", + "value": "17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1840:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1809:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1814:3:3", + "type": "", + "value": "136" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1894:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1916:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1924:2:3", + "type": "", + "value": "18" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1916:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1885:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1890:3:3", + "type": "", + "value": "144" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1970:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1992:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2000:2:3", + "type": "", + "value": "19" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1992:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "1961:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1966:3:3", + "type": "", + "value": "152" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2046:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2068:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2076:2:3", + "type": "", + "value": "20" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2068:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2037:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2042:3:3", + "type": "", + "value": "160" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2122:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2144:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2152:2:3", + "type": "", + "value": "21" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2144:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2113:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2118:3:3", + "type": "", + "value": "168" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2198:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2220:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2228:2:3", + "type": "", + "value": "22" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2220:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2189:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2194:3:3", + "type": "", + "value": "176" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2274:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2296:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2304:2:3", + "type": "", + "value": "23" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2296:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2265:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2270:3:3", + "type": "", + "value": "184" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2350:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2372:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2380:2:3", + "type": "", + "value": "24" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2372:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2341:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2346:3:3", + "type": "", + "value": "192" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2426:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2448:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2456:2:3", + "type": "", + "value": "25" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2448:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2417:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2422:3:3", + "type": "", + "value": "200" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2502:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2524:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2532:2:3", + "type": "", + "value": "26" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2524:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2493:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2498:3:3", + "type": "", + "value": "208" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2578:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2600:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2608:2:3", + "type": "", + "value": "27" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2600:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2569:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2574:3:3", + "type": "", + "value": "216" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2654:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2676:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2684:2:3", + "type": "", + "value": "28" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2676:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2645:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2650:3:3", + "type": "", + "value": "224" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2730:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2752:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2760:2:3", + "type": "", + "value": "29" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2752:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2721:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2726:3:3", + "type": "", + "value": "232" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2806:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2828:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2836:2:3", + "type": "", + "value": "30" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2828:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2797:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2802:3:3", + "type": "", + "value": "240" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2882:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2904:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2912:2:3", + "type": "", + "value": "31" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2904:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2873:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2878:3:3", + "type": "", + "value": "248" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2958:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2980:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2988:2:3", + "type": "", + "value": "32" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2980:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "2949:59:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2954:3:3", + "type": "", + "value": "256" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3033:50:3", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3055:10:3", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3063:2:3", + "type": "", + "value": "32" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "3055:4:3" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "3025:58:3", + "value": "default" + } + ], + "expression": { + "name": "_postfix", + "nodeType": "YulIdentifier", + "src": "590:8:3" + }, + "nodeType": "YulSwitch", + "src": "583:2500:3" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_postfix": { - "declaration": 892, - "isOffset": false, - "isSlot": false, - "src": "583:8:3", - "valueSize": 1 - } + "declaration": 896, + "isOffset": false, + "isSlot": false, + "src": "590:8:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "617:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1014:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "693:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1088:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "655:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1162:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "731:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1236:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "807:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1310:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "845:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1385:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "769:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1460:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "959:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1536:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "998:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1612:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "883:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1688:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "921:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1764:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1277:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1840:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1317:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1916:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1357:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "1992:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1397:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2068:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1037:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2144:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1077:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2220:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1117:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2296:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1157:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2372:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1197:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2448:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1237:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2524:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1437:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2600:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1477:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2676:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1517:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2752:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1557:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2828:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1597:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2904:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1637:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "2980:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1677:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "3055:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1717:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "644:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1757:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "718:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1797:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "792:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1837:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "866:4:3", + "valueSize": 1 }, { - "size": { - "declaration": 895, - "isOffset": false, - "isSlot": false, - "src": "1877:4:3", - "valueSize": 1 - } + "declaration": 899, + "isOffset": false, + "isSlot": false, + "src": "940:4:3", + "valueSize": 1 } ], - "id": 897, + "id": 901, "nodeType": "InlineAssembly", - "operations": "{\n switch _postfix\n case 8 {\n size := 1\n }\n case 16 {\n size := 2\n }\n case 24 {\n size := 3\n }\n case 32 {\n size := 4\n }\n case 40 {\n size := 5\n }\n case 48 {\n size := 6\n }\n case 56 {\n size := 7\n }\n case 64 {\n size := 8\n }\n case 72 {\n size := 9\n }\n case 80 {\n size := 10\n }\n case 88 {\n size := 11\n }\n case 96 {\n size := 12\n }\n case 104 {\n size := 13\n }\n case 112 {\n size := 14\n }\n case 120 {\n size := 15\n }\n case 128 {\n size := 16\n }\n case 136 {\n size := 17\n }\n case 144 {\n size := 18\n }\n case 152 {\n size := 19\n }\n case 160 {\n size := 20\n }\n case 168 {\n size := 21\n }\n case 176 {\n size := 22\n }\n case 184 {\n size := 23\n }\n case 192 {\n size := 24\n }\n case 200 {\n size := 25\n }\n case 208 {\n size := 26\n }\n case 216 {\n size := 27\n }\n case 224 {\n size := 28\n }\n case 232 {\n size := 29\n }\n case 240 {\n size := 30\n }\n case 248 {\n size := 31\n }\n case 256 {\n size := 32\n }\n default {\n size := 32\n }\n}", - "src": "554:1352:3" + "src": "560:2533:3" } ] }, "documentation": null, - "id": 899, + "id": 903, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sizeOfInt", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 893, + "id": 897, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 892, + "id": 896, "name": "_postfix", "nodeType": "VariableDeclaration", - "scope": 899, - "src": "493:15:3", + "overrides": null, + "scope": 903, + "src": "496:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2134,10 +4388,10 @@ "typeString": "uint16" }, "typeName": { - "id": 891, + "id": 895, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "493:6:3", + "src": "496:6:3", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -2147,20 +4401,20 @@ "visibility": "internal" } ], - "src": "492:17:3" + "src": "495:17:3" }, - "payable": false, "returnParameters": { - "id": 896, + "id": 900, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 895, + "id": 899, "name": "size", "nodeType": "VariableDeclaration", - "scope": 899, - "src": "533:9:3", + "overrides": null, + "scope": 903, + "src": "536:12:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2168,10 +4422,10 @@ "typeString": "uint256" }, "typeName": { - "id": 894, - "name": "uint", + "id": 898, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "533:4:3", + "src": "536:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2181,19 +4435,19 @@ "visibility": "internal" } ], - "src": "532:11:3" + "src": "535:14:3" }, - "scope": 928, - "src": "474:1432:3", + "scope": 932, + "src": "477:2622:3", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 910, + "id": 914, "nodeType": "Block", - "src": "1986:43:3", + "src": "3179:43:3", "statements": [ { "expression": { @@ -2201,12 +4455,12 @@ "arguments": [ { "argumentTypes": null, - "id": 907, + "id": 911, "name": "_postfix", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "2013:8:3", + "referencedDeclaration": 905, + "src": "3206:8:3", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -2220,18 +4474,18 @@ "typeString": "uint16" } ], - "id": 906, + "id": 910, "name": "sizeOfInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "2003:9:3", + "referencedDeclaration": 903, + "src": "3196:9:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint16_$returns$_t_uint256_$", "typeString": "function (uint16) pure returns (uint256)" } }, - "id": 908, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, @@ -2239,38 +4493,40 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2003:19:3", + "src": "3196:19:3", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 905, - "id": 909, + "functionReturnParameters": 909, + "id": 913, "nodeType": "Return", - "src": "1996:26:3" + "src": "3189:26:3" } ] }, "documentation": null, - "id": 911, + "id": 915, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sizeOfUint", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 902, + "id": 906, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 901, + "id": 905, "name": "_postfix", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1936:15:3", + "overrides": null, + "scope": 915, + "src": "3125:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2278,10 +4534,10 @@ "typeString": "uint16" }, "typeName": { - "id": 900, + "id": 904, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "1936:6:3", + "src": "3125:6:3", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -2291,20 +4547,20 @@ "visibility": "internal" } ], - "src": "1935:17:3" + "src": "3124:17:3" }, - "payable": false, "returnParameters": { - "id": 905, + "id": 909, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 904, + "id": 908, "name": "size", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1976:9:3", + "overrides": null, + "scope": 915, + "src": "3165:12:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2312,10 +4568,10 @@ "typeString": "uint256" }, "typeName": { - "id": 903, - "name": "uint", + "id": 907, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1976:4:3", + "src": "3165:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2325,32 +4581,32 @@ "visibility": "internal" } ], - "src": "1975:11:3" + "src": "3164:14:3" }, - "scope": 928, - "src": "1916:113:3", + "scope": 932, + "src": "3105:117:3", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 918, + "id": 922, "nodeType": "Block", - "src": "2089:27:3", + "src": "3283:26:3", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "3230", - "id": 916, + "id": 920, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2106:2:3", + "src": "3300:2:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", @@ -2358,39 +4614,39 @@ }, "value": "20" }, - "functionReturnParameters": 915, - "id": 917, + "functionReturnParameters": 919, + "id": 921, "nodeType": "Return", - "src": "2099:9:3" + "src": "3293:9:3" } ] }, "documentation": null, - "id": 919, + "id": 923, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sizeOfAddress", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 912, + "id": 916, "nodeType": "ParameterList", "parameters": [], - "src": "2057:2:3" + "src": "3250:2:3" }, - "payable": false, "returnParameters": { - "id": 915, + "id": 919, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 914, + "id": 918, "name": "", "nodeType": "VariableDeclaration", - "scope": 919, - "src": "2083:5:3", + "overrides": null, + "scope": 923, + "src": "3276:5:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2398,10 +4654,10 @@ "typeString": "uint8" }, "typeName": { - "id": 913, + "id": 917, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2083:5:3", + "src": "3276:5:3", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2411,32 +4667,32 @@ "visibility": "internal" } ], - "src": "2082:7:3" + "src": "3275:7:3" }, - "scope": 928, - "src": "2035:81:3", + "scope": 932, + "src": "3228:81:3", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 926, + "id": 930, "nodeType": "Block", - "src": "2177:26:3", + "src": "3367:25:3", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "31", - "id": 924, + "id": 928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2194:1:3", + "src": "3384:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -2444,39 +4700,39 @@ }, "value": "1" }, - "functionReturnParameters": 923, - "id": 925, + "functionReturnParameters": 927, + "id": 929, "nodeType": "Return", - "src": "2187:8:3" + "src": "3377:8:3" } ] }, "documentation": null, - "id": 927, + "id": 931, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sizeOfBool", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 920, + "id": 924, "nodeType": "ParameterList", "parameters": [], - "src": "2145:2:3" + "src": "3334:2:3" }, - "payable": false, "returnParameters": { - "id": 923, + "id": 927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 922, + "id": 926, "name": "", "nodeType": "VariableDeclaration", - "scope": 927, - "src": "2171:5:3", + "overrides": null, + "scope": 931, + "src": "3360:5:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2484,10 +4740,10 @@ "typeString": "uint8" }, "typeName": { - "id": 921, + "id": 925, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2171:5:3", + "src": "3360:5:3", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2497,30 +4753,31 @@ "visibility": "internal" } ], - "src": "2170:7:3" + "src": "3359:7:3" }, - "scope": 928, - "src": "2126:77:3", + "scope": 932, + "src": "3315:77:3", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" } ], - "scope": 929, - "src": "149:2062:3" + "scope": 933, + "src": "149:3245:3" } ], - "src": "0:2212:3" + "src": "0:3395:3" }, "compiler": { "name": "solc", - "version": "0.4.26+commit.4563c3fc.Emscripten.clang" + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.11", - "updatedAt": "2019-06-26T04:51:10.200Z", + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T00:50:13.949Z", "devdoc": { "author": "pouladzade@gmail.com", + "details": "The SizeOf return the size of the solidity types in byte", "methods": {}, "title": "SizeOf" }, diff --git a/build/contracts/TokenBalances.json b/build/contracts/TokenBalances.json index 02a3379..add7ba0 100644 --- a/build/contracts/TokenBalances.json +++ b/build/contracts/TokenBalances.json @@ -4,36 +4,161 @@ { "inputs": [ { + "internalType": "address", "name": "tokenStorage", "type": "address" } ], - "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { - "constant": true, - "inputs": [], - "name": "getTokenStorage", - "outputs": [ + "inputs": [ { - "name": "", + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_input", "type": "address" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" } ], - "payable": false, - "stateMutability": "view", + "name": "copyAddress", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_input", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyBool", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "bytes16", + "name": "_input", + "type": "bytes16" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyBytes16", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_input", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyBytes32", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_input", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyUint", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "_input", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyUint8", + "outputs": [], + "stateMutability": "pure", "type": "function" }, { - "constant": true, "inputs": [ { + "internalType": "address", "name": "tokenAddr", "type": "address" }, { + "internalType": "address", "name": "addr", "type": "address" } @@ -41,163 +166,218 @@ "name": "getTokenBalance", "outputs": [ { + "internalType": "uint256", "name": "bal", "type": "uint256" } ], - "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "isContract", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "src", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "len", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "memcpy", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getTokenStorage", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [ { + "internalType": "address", "name": "_owner", "type": "address" }, { + "internalType": "bool", "name": "name", "type": "bool" }, { + "internalType": "bool", "name": "website", "type": "bool" }, { + "internalType": "bool", "name": "email", "type": "bool" - }, - { - "name": "_count", - "type": "uint256" } ], "name": "getAllBalance", "outputs": [ { + "internalType": "bytes", "name": "", "type": "bytes" } ], - "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"name\",\"type\":\"bool\"},{\"name\":\"website\",\"type\":\"bool\"},{\"name\":\"email\",\"type\":\"bool\"},{\"name\":\"_count\",\"type\":\"uint256\"}],\"name\":\"getAllBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenAddr\",\"type\":\"address\"},{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getTokenBalance\",\"outputs\":[{\"name\":\"bal\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getTokenStorage\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"tokenStorage\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/TokenBalances.sol\":\"TokenBalances\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/BytesToTypes.sol\":{\"keccak256\":\"0x7abcc4447031026fce32aa0dda3c793149492b1dff86d1af8d70933a828f790e\",\"urls\":[\"bzzr://c468730a3106332b059555dfa7eb92880d377d8cf149657d839d54e238d6f825\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol\":{\"keccak256\":\"0xe43c18f7cd032e65bebea3b701bbb0d46fe0235d4e7d44d4939696c102906839\",\"urls\":[\"bzzr://0ed9a1f6408ddfd6fd7e17b855dc416dcad1e0141c0158d838df6c4bf82729c6\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/SizeOf.sol\":{\"keccak256\":\"0x280f6854ddf4d9b6b38c9fa51b4422b9a45f18a2e29f428a0f8174134e5836c9\",\"urls\":[\"bzzr://5b029fc6b26d749e509517a25c09150d741a028a6e05889e42fda0e6f6ba8d36\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol\":{\"keccak256\":\"0x84ca9cf629fb4e0228c9bc3354ab616de508a6113e6636604870361fc079d65b\",\"urls\":[\"bzzr://d78db3c2a2c54f35b7c5ba51888793c1a98a7fccaf2030f64cfee97ba2cd4b22\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyToken.sol\":{\"keccak256\":\"0x841b6fc11ac2d256a0ceeead798fb9a87fa8a468ff88c75bbbe58761e75cfdb1\",\"urls\":[\"bzzr://016d68e7abb13a46af6a841e4ee23fb506bc45fdb2e4bf5e6ff4bb736bf9259a\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol\":{\"keccak256\":\"0x711fd1a0111118c7447db4b589c112cafff95c7777b3db01fe7d66b4245266e3\",\"urls\":[\"bzzr://643c48f64dc9cd3ff8d684527f084e05c7c1c870ad12cdf4009fa62738e38dfa\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/TokenBalances.sol\":{\"keccak256\":\"0x9ee0f2eeb374c7a8bc3e818597aa547be45028b3257c438f3e4e75bbee4913b7\",\"urls\":[\"bzzr://910691298c4ee758e69c792debaf2794b850e3b651ea5024323e3952b05c7b53\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50604051602080610a0983398101806040528101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610986806100836000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806380f4ae5c1461005c578063c489744b14610146578063f6333d91146101bd575b600080fd5b34801561006857600080fd5b506100cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080351515906020019092919080351515906020019092919080359060200190929190505050610214565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010b5780820151818401526020810190506100f0565b50505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015257600080fd5b506101a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105b0565b6040518082815260200191505060405180910390f35b3480156101c957600080fd5b506101d261062f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6060600080606060008060006102286108d5565b606060008e975060008b14156102ff576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f181b5e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156102bd57600080fd5b505af11580156102d1573d6000803e3d6000fd5b505050506040513d60208110156102e757600080fd5b81019080805190602001909291905050509850610303565b8a98505b600189016040519080825280602002602001820160405280156103355781602001602082028038833980820191505090505b5096506021955060038601955060009450600193505b888411151561040e5761035d84610658565b92508260c0015180156103795750610378836040015161083d565b5b156103dc576001878581518110151561038e57fe5b906020019060200201901515908115158152505084806001019550508d156103b7576010860195505b8c156103c4576020860195505b8b156103d1576020860195505b604586019550610401565b600087858151811015156103ec57fe5b90602001906020020190151590811515815250505b838060010194505061034b565b856040519080825280601f01601f1916602001820160405280156104415781602001602082028038833980820191505090505b50915085905061045381600184610856565b60018103905061046481868461087a565b602081039050610475818f84610856565b600181039050610486818e84610856565b600181039050610497818d84610856565b600181039050600193505b888411151561059b5786848151811015156104b957fe5b9060200190602002015115156104ce5761058e565b6104d784610658565b92506104e881846020015184610884565b6010810390506104fd818460400151846108a9565b60148103905061051581846060015160ff168461087a565b6001810390506105338161052d85604001518b6105b0565b8461087a565b6020810390508d156105555761054e81846000015184610884565b6010810390505b8c156105715761056a818460800151846108b3565b6020810390505b8b1561058d57610586818460a00151846108b3565b6020810390505b5b83806001019450506104a2565b81995050505050505050505095945050505050565b60008060405180807f62616c616e63654f662861646472657373290000000000000000000000000000815250601201905060405180910390209050604051818152836004820152602081602483600089620249f0f180151561061157600093505b600081111561061f57815193505b6020820160405250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106606108d5565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f85eb3f836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e060405180830381600087803b1580156106f057600080fd5b505af1158015610704573d6000803e3d6000fd5b505050506040513d60e081101561071a57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508760000188602001896040018a6060018b6080018c60a0018d60c00187151515158152508760001916600019168152508760001916600019168152508760ff1660ff168152508773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681525050505050505050919050565b600080823b905060008163ffffffff1611915050919050565b60008015158315151461086a57600161086d565b60005b9050808483015250505050565b8183820152505050565b600060105b83821a826010018685010153600182019150808210610889575050505050565b8183820152505050565b600060205b83821a8286850101536001820191508082106108b8575050505050565b60e06040519081016040528060006fffffffffffffffffffffffffffffffff1916815260200160006fffffffffffffffffffffffffffffffff19168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff168152602001600080191681526020016000801916815260200160001515815250905600a165627a7a72305820fbb68c0414d1486c2f88c9fb212854c56d6b93a403fe20bb30f4cec4153e9a570029", - "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806380f4ae5c1461005c578063c489744b14610146578063f6333d91146101bd575b600080fd5b34801561006857600080fd5b506100cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080351515906020019092919080351515906020019092919080359060200190929190505050610214565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010b5780820151818401526020810190506100f0565b50505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015257600080fd5b506101a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105b0565b6040518082815260200191505060405180910390f35b3480156101c957600080fd5b506101d261062f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6060600080606060008060006102286108d5565b606060008e975060008b14156102ff576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f181b5e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156102bd57600080fd5b505af11580156102d1573d6000803e3d6000fd5b505050506040513d60208110156102e757600080fd5b81019080805190602001909291905050509850610303565b8a98505b600189016040519080825280602002602001820160405280156103355781602001602082028038833980820191505090505b5096506021955060038601955060009450600193505b888411151561040e5761035d84610658565b92508260c0015180156103795750610378836040015161083d565b5b156103dc576001878581518110151561038e57fe5b906020019060200201901515908115158152505084806001019550508d156103b7576010860195505b8c156103c4576020860195505b8b156103d1576020860195505b604586019550610401565b600087858151811015156103ec57fe5b90602001906020020190151590811515815250505b838060010194505061034b565b856040519080825280601f01601f1916602001820160405280156104415781602001602082028038833980820191505090505b50915085905061045381600184610856565b60018103905061046481868461087a565b602081039050610475818f84610856565b600181039050610486818e84610856565b600181039050610497818d84610856565b600181039050600193505b888411151561059b5786848151811015156104b957fe5b9060200190602002015115156104ce5761058e565b6104d784610658565b92506104e881846020015184610884565b6010810390506104fd818460400151846108a9565b60148103905061051581846060015160ff168461087a565b6001810390506105338161052d85604001518b6105b0565b8461087a565b6020810390508d156105555761054e81846000015184610884565b6010810390505b8c156105715761056a818460800151846108b3565b6020810390505b8b1561058d57610586818460a00151846108b3565b6020810390505b5b83806001019450506104a2565b81995050505050505050505095945050505050565b60008060405180807f62616c616e63654f662861646472657373290000000000000000000000000000815250601201905060405180910390209050604051818152836004820152602081602483600089620249f0f180151561061157600093505b600081111561061f57815193505b6020820160405250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106606108d5565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f85eb3f836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e060405180830381600087803b1580156106f057600080fd5b505af1158015610704573d6000803e3d6000fd5b505050506040513d60e081101561071a57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508760000188602001896040018a6060018b6080018c60a0018d60c00187151515158152508760001916600019168152508760001916600019168152508760ff1660ff168152508773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681525050505050505050919050565b600080823b905060008163ffffffff1611915050919050565b60008015158315151461086a57600161086d565b60005b9050808483015250505050565b8183820152505050565b600060105b83821a826010018685010153600182019150808210610889575050505050565b8183820152505050565b600060205b83821a8286850101536001820191508082106108b8575050505050565b60e06040519081016040528060006fffffffffffffffffffffffffffffffff1916815260200160006fffffffffffffffffffffffffffffffff19168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff168152602001600080191681526020016000801916815260200160001515815250905600a165627a7a72305820fbb68c0414d1486c2f88c9fb212854c56d6b93a403fe20bb30f4cec4153e9a570029", - "sourceMap": "118:4495:10:-;;;564:91;8:9:-1;5:2;;;30:1;27;20:12;5:2;564:91:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;635:12;615:4;;:33;;;;;;;;;;;;;;;;;;564:91;118:4495;;;;;;", - "deployedSourceMap": "118:4495:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2272:2339;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2272:2339:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2272:2339:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1140:1127;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1140:1127:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;660:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;660:84:10;;;;;;;;;;;;;;;;;;;;;;;;;;;2272:2339;2382:5;2399:10;2419:14;2526:25;2583:15;2732:21;2771:6;2813:18;;:::i;:::-;3290:19;3343:11;2436:6;2419:23;;2465:1;2455:6;:11;2452:64;;;2476:4;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2476:17:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2476:17:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2476:17:10;;;;;;;;;;;;;;;;2468:25;;2452:64;;;2510:6;2502:14;;2452:64;2571:1;2565:5;:7;2554:19;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;2554:19:10;;;;2526:47;;2601:2;2583:20;;2694:1;2680:15;;;;2756:1;2732:25;;2780:1;2771:10;;2767:514;2788:5;2783:1;:10;;2767:514;;;2834:11;2843:1;2834:8;:11::i;:::-;2813:32;;2862:5;:13;;;:39;;;;;2879:22;2890:5;:10;;;2879;:22::i;:::-;2862:39;2859:412;;;2937:4;2920:11;2932:1;2920:14;;;;;;;;;;;;;;;;;:21;;;;;;;;;;;2959:18;;;;;;;2998:4;2995:25;;;3018:2;3004:16;;;;2995:25;3041:7;3038:28;;;3064:2;3050:16;;;;3038:28;3087:5;3084:26;;;3108:2;3094:16;;;;3084:26;3142:2;3128:16;;;;2859:412;;;3251:5;3234:11;3246:1;3234:14;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;2859:412;2795:3;;;;;;;2767:514;;;3322:10;3312:21;;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3312:21:10;;;;3290:43;;3357:10;3343:24;;3394:33;3406:6;3414:4;3420:6;3394:11;:33::i;:::-;3448:1;3438:11;;;;3459:45;3471:6;3479:16;3497:6;3459:11;:45::i;:::-;3525:2;3515:12;;;;3537:33;3549:6;3557:4;3563:6;3537:11;:33::i;:::-;3591:1;3581:11;;;;3602:36;3614:6;3622:7;3631:6;3602:11;:36::i;:::-;3659:1;3649:11;;;;3670:34;3682:6;3690:5;3697:6;3670:11;:34::i;:::-;3725:1;3715:11;;;;3744:1;3740:5;;3736:846;3752:5;3747:1;:10;;3736:846;;;3781:11;3793:1;3781:14;;;;;;;;;;;;;;;;;;3780:15;3777:28;;;3797:8;;3777:28;3827:11;3836:1;3827:8;:11::i;:::-;3819:19;;3852:45;3868:6;3876:5;:12;;;3890:6;3852:15;:45::i;:::-;3922:2;3912:12;;;;3938:42;3953:6;3961:5;:10;;;3973:6;3938:14;:42::i;:::-;4005:2;3995:12;;;;4021:43;4033:6;4041:5;:14;;;4021:43;;4057:6;4021:11;:43::i;:::-;4089:1;4079:11;;;;4104:64;4116:6;4124:35;4140:5;:10;;;4152:6;4124:15;:35::i;:::-;4161:6;4104:11;:64::i;:::-;4193:2;4183:12;;;;4212:4;4209:109;;;4235:43;4251:6;4259:5;:10;;;4271:6;4235:15;:43::i;:::-;4307:2;4297:12;;;;4209:109;4334:7;4331:116;;;4361:46;4377:6;4385:5;:13;;;4400:6;4361:15;:46::i;:::-;4436:2;4426:12;;;;4331:116;4463:5;4460:112;;;4488:44;4504:6;4512:5;:11;;;4525:6;4488:15;:44::i;:::-;4561:2;4551:12;;;;4460:112;3736:846;3759:3;;;;;;;3736:846;;;4598:6;4591:13;;2272:2339;;;;;;;;;;;;;;;;:::o;1140:1127::-;1219:8;1239:10;1259:31;;;;;;;;;;;;;;;;;;;1239:52;;1389:4;1383:11;1465:3;1461;1454:15;1554:4;1547;1543:3;1539:13;1532:27;1920:4;1874:3;1826:4;1770:3;1727:1;1642:9;1607:6;1587:338;1978:6;1971:14;1968:2;;;2012:1;2005:8;;1968:2;2091:1;2083:6;2080:13;2077:2;;;2126:3;2120:10;2113:17;;2077:2;2209:4;2205:3;2201:13;2196:4;2189:26;1310:951;;;;;;;:::o;660:84::-;708:7;733:4;;;;;;;;;;;726:11;;660:84;:::o;937:198::-;987:11;;:::i;:::-;1110:4;;;;;;;;;;;:14;;;1125:2;1110:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1110:18:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1110:18:10;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1110:18:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1011:5;:10;;1023:5;:12;;1037:5;:10;;1049:5;:14;;1065:5;:13;;1080:5;:11;;1093:5;:13;;1010:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;937:198;;;:::o;749:183::-;806:4;822:11;886:4;874:17;866:25;;924:1;917:4;:8;;;910:15;;749:183;;;;:::o;1420:206:4:-;1513:7;1533:5;1523:15;;:6;:15;;;:23;;1545:1;1523:23;;;1541:1;1523:23;1513:33;;1608:1;1599:6;1590:7;1586:20;1579:31;1565:55;;;;:::o;2401:169::-;2547:6;2538;2529:7;2525:20;2518:36;2504:60;;;:::o;443:365::-;575:1;601:2;616:4;700:6;693:5;688:19;679:5;675:2;671:14;663:6;654:7;650:20;646:40;638:70;745:1;738:5;734:13;725:22;;786:4;780:5;777:14;770:4;764:28;548:254;;;;;:::o;263:175::-;415:6;406;397:7;393:20;386:36;372:60;;;:::o;813:356::-;945:1;971:2;986:4;1061:6;1054:5;1049:19;1041:5;1033:6;1024:7;1020:20;1016:31;1008:61;1106:1;1099:5;1095:13;1086:22;;1147:4;1141:5;1138:14;1131:4;1125:28;918:245;;;;;:::o;118:4495:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.24;\nimport \"../Seriality/Seriality.sol\";\nimport \"./PublicTokens.sol\";\nimport \"./DummyToken.sol\";\ncontract TokenBalances is Seriality{\n struct Token {\n bytes16 name; // Name of the token\n bytes16 symbol; // Symbol of the token\n address addr; // Address of the token contract\n uint8 decimals; // decimals of the token\n bytes32 website; // website of the token\n bytes32 email; // support email of the token\n bool isValid; //whether the token is valid or not\n }\n PublicTokens pubT;\n constructor(address tokenStorage) public {\n pubT = PublicTokens(tokenStorage);\n }\n function getTokenStorage() public view returns (address){\n return pubT;\n }\n function isContract(address addr) internal view returns (bool) {\n uint32 size;\n assembly {\n size := extcodesize(addr)\n }\n return size > 0;\n }\n function getToken(uint id) internal view returns (Token token) {\n (token.name, token.symbol, token.addr, token.decimals, token.website, token.email, token.isValid) = pubT.pubTokens(id);\n }\n function getTokenBalance(address tokenAddr, address addr) public view returns (uint bal) {\n bytes4 sig = bytes4(keccak256(\"balanceOf(address)\"));\n assembly {\n // move pointer to free memory spot\n let ptr := mload(0x40)\n // put function sig at memory spot\n mstore(ptr,sig)\n // append argument after function sig\n mstore(add(ptr,0x04), addr)\n\n let result := call(\n 150000, // gas limit\n tokenAddr, // to addr. append var to _slot to access storage variable\n 0, // not transfer any ether\n ptr, // Inputs are stored at location ptr\n 0x24, // Inputs are 36 bytes long\n ptr, //Store output over input\n 0x20) //Outputs are 32 bytes long\n\n if iszero(result) {\n bal := 0 // return 0 on error and 0 balance\n }\n if gt(result, 0) {\n bal := mload(ptr) // Assign output to answer var\n }\n mstore(0x40,add(ptr,0x20)) // Set storage pointer to new space\n }\n }\n function getAllBalance(address _owner, bool name, bool website, bool email, uint _count) public view returns (bytes) {\n uint count;\n address tOwner = _owner;\n if(_count == 0) count = pubT.tokenCount();\n\t\telse count = _count;\n bool[] memory validTokens = new bool[](count+1);\n uint bufferSize = 33; //assign 32 bytes to set the total number of tokens + define start\n bufferSize += 3; //set name, website, email\n uint countValidTokens = 0;\n for(uint i = 1; i <= count; i++){\n Token memory token = getToken(i);\n if(token.isValid && isContract(token.addr)){\n validTokens[i] = true;\n countValidTokens++;\n if(name) bufferSize += 16;\n if(website) bufferSize += 32;\n if(email) bufferSize += 32;\n bufferSize += 69; // address (20) + symbol(16) + balance(32) + decimals(1)\n \t\t} else {\n validTokens[i] = false;\n }\n }\n bytes memory result = new bytes(bufferSize);\n uint offset = bufferSize;\n \t//serialize\n boolToBytes(offset, true, result); \n offset -= 1;\n uintToBytes(offset, countValidTokens, result); \n offset -= 32;\n boolToBytes(offset, name, result); \n offset -= 1;\n boolToBytes(offset, website, result); \n offset -= 1;\n boolToBytes(offset, email, result); \n offset -= 1;\n for(i = 1; i <= count; i++){\n if(!validTokens[i]) continue;\n token = getToken(i);\n bytes16ToBytesR(offset, token.symbol, result); \n offset -= 16;\n addressToBytes(offset, token.addr, result); \n offset -= 20;\n uintToBytes(offset, token.decimals, result); \n offset -= 1;\n uintToBytes(offset, getTokenBalance(token.addr, tOwner), result); \n offset -= 32;\n if(name){\n bytes16ToBytesR(offset, token.name, result); \n offset -= 16;\n \t\t}\n if(website) {\n bytes32ToBytesR(offset, token.website, result); \n offset -= 32;\n \t\t}\n if(email) {\n bytes32ToBytesR(offset, token.email, result); \n offset -= 32;\n \t\t}\n }\n return result;\n }\n}", + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenStorage\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_input\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyAddress\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_input\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyBool\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"bytes16\",\"name\":\"_input\",\"type\":\"bytes16\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyBytes16\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_input\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyBytes32\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_input\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyUint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_input\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyUint8\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"name\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"website\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"email\",\"type\":\"bool\"}],\"name\":\"getAllBalance\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getTokenBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bal\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTokenStorage\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"isContract\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"src\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"memcpy\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/TokenBalances.sol\":\"TokenBalances\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyToken.sol\":{\"keccak256\":\"0x83fc2931a2cef4d55940c20370a8dfa18dedd3951033c34def4c772e6c7e86db\",\"urls\":[\"bzz-raw://ba3ddafc1a5a97b8301e3bf2981e3ec5eece1183b1cd93c3ed3005618233a61c\",\"dweb:/ipfs/Qme7PkTkimMQwtYSeA7xj4eTkL7NrNkYMpodtf2Sy4xbL3\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol\":{\"keccak256\":\"0xb5b75318ee3b243d955d01bffb94c08a001a048985ba1d4ff01cb6d9e098c1b7\",\"urls\":[\"bzz-raw://c2884fe41a806529698f7bf79bb418905b45499128d70aa049f06b1d9c041585\",\"dweb:/ipfs/QmbxG4AS6ATfm2jojhnXBdJ2NVmnmESsXhQ5SZ4p7ELGQk\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/TokenBalances.sol\":{\"keccak256\":\"0x65973b97215482358ec05394b1aac365a718a8a33c9f852da2ffa4d1a5dbb9b7\",\"urls\":[\"bzz-raw://e7f1d001f9029a12a0892641b2cbb732b135d4a6919d184fa884266ce2e0e21e\",\"dweb:/ipfs/QmSN7BPDU9QjiQbWJDwmr95q7VXZge9B42GpfH4pKr25bv\"]},\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/Utils.sol\":{\"keccak256\":\"0x5088baf56ecdc81563a6e9393e7acc6939e02f0aae3dd5598cc1b72ea36e9d4a\",\"urls\":[\"bzz-raw://a1f93ddd057dde76562b4c0fbff43e55c4d6b7959d6557417ac6a9b974f53608\",\"dweb:/ipfs/QmXyt9UzvemhL3uw6s43RqXxLQHa1HAZcEw8UjeAKrrEsp\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5060405161119d38038061119d8339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611109806100946000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063822de36d11610071578063822de36d14610508578063b644331d146105d9578063c489744b146106a8578063d68eb36c14610720578063f404b70614610802578063f6333d91146108d1576100a9565b806316279055146100ae5780631892154b1461010a57806320d2da85146101ef578063407c280d146102c15780635b65bdc514610427575b600080fd5b6100f0600480360360208110156100c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061091b565b604051808215151515815260200191505060405180910390f35b6101ed6004803603606081101561012057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561016757600080fd5b82018360208201111561017957600080fd5b8035906020019184600183028401116401000000008311171561019b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610934565b005b6102bf6004803603606081101561020557600080fd5b8101908080359060200190929190803560ff1690602001909291908035906020019064010000000081111561023957600080fd5b82018360208201111561024b57600080fd5b8035906020019184600183028401116401000000008311171561026d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506109a6565b005b610425600480360360808110156102d757600080fd5b81019080803590602001906401000000008111156102f457600080fd5b82018360208201111561030657600080fd5b8035906020019184600183028401116401000000008311171561032857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803590602001909291908035906020019064010000000081111561039f57600080fd5b8201836020820111156103b157600080fd5b803590602001918460018302840111640100000000831117156103d357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506109b0565b005b61048d6004803603608081101561043d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190803515159060200190929190505050610a18565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104cd5780820151818401526020810190506104b2565b50505050905090810190601f1680156104fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105d76004803603606081101561051e57600080fd5b81019080803590602001909291908035151590602001909291908035906020019064010000000081111561055157600080fd5b82018360208201111561056357600080fd5b8035906020019184600183028401116401000000008311171561058557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610c91565b005b6106a6600480360360608110156105ef57600080fd5b8101908080359060200190929190803590602001909291908035906020019064010000000081111561062057600080fd5b82018360208201111561063257600080fd5b8035906020019184600183028401116401000000008311171561065457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610cb5565b005b61070a600480360360408110156106be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d04565b6040518082815260200191505060405180910390f35b6108006004803603606081101561073657600080fd5b810190808035906020019092919080356fffffffffffffffffffffffffffffffff191690602001909291908035906020019064010000000081111561077a57600080fd5b82018360208201111561078c57600080fd5b803590602001918460018302840111640100000000831117156107ae57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610d81565b005b6108cf6004803603606081101561081857600080fd5b8101908080359060200190929190803590602001909291908035906020019064010000000081111561084957600080fd5b82018360208201111561085b57600080fd5b8035906020019184600183028401116401000000008311171561087d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610dd0565b005b6108d9610e1f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080823b905060008163ffffffff1611915050919050565b606060206040519080825280601f01601f19166020018201604052801561096a5781602001600182028036833780820191505090505b509050600060608473ffffffffffffffffffffffffffffffffffffffff16901b60001b905080825261099f82866014866109b0565b5050505050565b8181840153505050565b60008090505b602083106109dd5780850151848301526020840193506020810190506020830392506109b6565b60008314156109ec5750610a12565b60006001846020036101000a039050801986830151168186850151168187860152505050505b50505050565b606060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f181b5e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8357600080fd5b505afa158015610a97573d6000803e3d6000fd5b505050506040513d6020811015610aad57600080fd5b810190808051906020019092919050505090506000610ace82878688610e48565b90506060816040519080825280601f01601f191660200182016040528015610b055781602001600182028036833780820191505090505b509050600060409050610b19818984610c91565b600181019050610b2a818884610c91565b600181019050610b3b818784610c91565b60018101905060008090506000600190505b858111610c6557610b5c61104f565b610b6582610e98565b90508060c001518015610b815750610b80816040015161091b565b5b15610c56576000610b9682604001518e610d04565b90506000811415610ba8575050610c58565b8380600101945050610bbf85836020015188610d81565b601085019450610bd485836040015188610934565b601485019450610be9858360600151886109a6565b600185019450610bfa858288610cb5565b6020850194508b15610c1c57610c1585836000015188610d81565b6010850194505b8a15610c3857610c3185836080015188610dd0565b6020850194505b8915610c5457610c4d858360a0015188610dd0565b6020850194505b505b505b8080600101915050610b4d565b50610c7560006020840385610cb5565b610c8160208285610cb5565b8295505050505050949350505050565b600080151583151514610ca5576001610ca8565b60005b9050808285015350505050565b606060206040519080825280601f01601f191660200182016040528015610ceb5781602001600182028036833780820191505090505b509050828152610cfe81856020856109b0565b50505050565b60008060405180807f62616c616e63654f662861646472657373290000000000000000000000000000815250601201905060405180910390209050604051818152836004820152602081602483600089620249f0f180610d6357600093505b6000811115610d7157815193505b6020820160405250505092915050565b606060106040519080825280601f01601f191660200182016040528015610db75781602001600182028036833780820191505090505b509050828152610dca81856010856109b0565b50505050565b606060206040519080825280601f01601f191660200182016040528015610e065781602001600182028036833780820191505090505b509050828152610e1981856020856109b0565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806040905060038101905060008090508515610e67576020810190505b8315610e74576020810190505b8415610e81576020810190505b604581019050868102820192505050949350505050565b610ea061104f565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f85eb3f836040518263ffffffff1660e01b81526004018082815260200191505060e06040518083038186803b158015610f1257600080fd5b505afa158015610f26573d6000803e3d6000fd5b505050506040513d60e0811015610f3c57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508760000188602001896040018a6060018b6080018c60a0018d60c001871515151581525087815250878152508760ff1660ff168152508773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681525050505050505050919050565b6040518060e0016040528060006fffffffffffffffffffffffffffffffff1916815260200160006fffffffffffffffffffffffffffffffff19168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff1681526020016000801916815260200160008019168152602001600015158152509056fea2646970667358221220a5e28a5e66e2adf38f5f10d9cfd50ee929cf52014079389dc139c7ecfeda61ec64736f6c63430006040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063822de36d11610071578063822de36d14610508578063b644331d146105d9578063c489744b146106a8578063d68eb36c14610720578063f404b70614610802578063f6333d91146108d1576100a9565b806316279055146100ae5780631892154b1461010a57806320d2da85146101ef578063407c280d146102c15780635b65bdc514610427575b600080fd5b6100f0600480360360208110156100c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061091b565b604051808215151515815260200191505060405180910390f35b6101ed6004803603606081101561012057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561016757600080fd5b82018360208201111561017957600080fd5b8035906020019184600183028401116401000000008311171561019b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610934565b005b6102bf6004803603606081101561020557600080fd5b8101908080359060200190929190803560ff1690602001909291908035906020019064010000000081111561023957600080fd5b82018360208201111561024b57600080fd5b8035906020019184600183028401116401000000008311171561026d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506109a6565b005b610425600480360360808110156102d757600080fd5b81019080803590602001906401000000008111156102f457600080fd5b82018360208201111561030657600080fd5b8035906020019184600183028401116401000000008311171561032857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803590602001909291908035906020019064010000000081111561039f57600080fd5b8201836020820111156103b157600080fd5b803590602001918460018302840111640100000000831117156103d357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506109b0565b005b61048d6004803603608081101561043d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190803515159060200190929190505050610a18565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104cd5780820151818401526020810190506104b2565b50505050905090810190601f1680156104fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105d76004803603606081101561051e57600080fd5b81019080803590602001909291908035151590602001909291908035906020019064010000000081111561055157600080fd5b82018360208201111561056357600080fd5b8035906020019184600183028401116401000000008311171561058557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610c91565b005b6106a6600480360360608110156105ef57600080fd5b8101908080359060200190929190803590602001909291908035906020019064010000000081111561062057600080fd5b82018360208201111561063257600080fd5b8035906020019184600183028401116401000000008311171561065457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610cb5565b005b61070a600480360360408110156106be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d04565b6040518082815260200191505060405180910390f35b6108006004803603606081101561073657600080fd5b810190808035906020019092919080356fffffffffffffffffffffffffffffffff191690602001909291908035906020019064010000000081111561077a57600080fd5b82018360208201111561078c57600080fd5b803590602001918460018302840111640100000000831117156107ae57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610d81565b005b6108cf6004803603606081101561081857600080fd5b8101908080359060200190929190803590602001909291908035906020019064010000000081111561084957600080fd5b82018360208201111561085b57600080fd5b8035906020019184600183028401116401000000008311171561087d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610dd0565b005b6108d9610e1f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080823b905060008163ffffffff1611915050919050565b606060206040519080825280601f01601f19166020018201604052801561096a5781602001600182028036833780820191505090505b509050600060608473ffffffffffffffffffffffffffffffffffffffff16901b60001b905080825261099f82866014866109b0565b5050505050565b8181840153505050565b60008090505b602083106109dd5780850151848301526020840193506020810190506020830392506109b6565b60008314156109ec5750610a12565b60006001846020036101000a039050801986830151168186850151168187860152505050505b50505050565b606060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f181b5e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8357600080fd5b505afa158015610a97573d6000803e3d6000fd5b505050506040513d6020811015610aad57600080fd5b810190808051906020019092919050505090506000610ace82878688610e48565b90506060816040519080825280601f01601f191660200182016040528015610b055781602001600182028036833780820191505090505b509050600060409050610b19818984610c91565b600181019050610b2a818884610c91565b600181019050610b3b818784610c91565b60018101905060008090506000600190505b858111610c6557610b5c61104f565b610b6582610e98565b90508060c001518015610b815750610b80816040015161091b565b5b15610c56576000610b9682604001518e610d04565b90506000811415610ba8575050610c58565b8380600101945050610bbf85836020015188610d81565b601085019450610bd485836040015188610934565b601485019450610be9858360600151886109a6565b600185019450610bfa858288610cb5565b6020850194508b15610c1c57610c1585836000015188610d81565b6010850194505b8a15610c3857610c3185836080015188610dd0565b6020850194505b8915610c5457610c4d858360a0015188610dd0565b6020850194505b505b505b8080600101915050610b4d565b50610c7560006020840385610cb5565b610c8160208285610cb5565b8295505050505050949350505050565b600080151583151514610ca5576001610ca8565b60005b9050808285015350505050565b606060206040519080825280601f01601f191660200182016040528015610ceb5781602001600182028036833780820191505090505b509050828152610cfe81856020856109b0565b50505050565b60008060405180807f62616c616e63654f662861646472657373290000000000000000000000000000815250601201905060405180910390209050604051818152836004820152602081602483600089620249f0f180610d6357600093505b6000811115610d7157815193505b6020820160405250505092915050565b606060106040519080825280601f01601f191660200182016040528015610db75781602001600182028036833780820191505090505b509050828152610dca81856010856109b0565b50505050565b606060206040519080825280601f01601f191660200182016040528015610e065781602001600182028036833780820191505090505b509050828152610e1981856020856109b0565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806040905060038101905060008090508515610e67576020810190505b8315610e74576020810190505b8415610e81576020810190505b604581019050868102820192505050949350505050565b610ea061104f565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f85eb3f836040518263ffffffff1660e01b81526004018082815260200191505060e06040518083038186803b158015610f1257600080fd5b505afa158015610f26573d6000803e3d6000fd5b505050506040513d60e0811015610f3c57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508760000188602001896040018a6060018b6080018c60a0018d60c001871515151581525087815250878152508760ff1660ff168152508773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815250876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681525050505050505050919050565b6040518060e0016040528060006fffffffffffffffffffffffffffffffff1916815260200160006fffffffffffffffffffffffffffffffff19168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff1681526020016000801916815260200160008019168152602001600015158152509056fea2646970667358221220a5e28a5e66e2adf38f5f10d9cfd50ee929cf52014079389dc139c7ecfeda61ec64736f6c63430006040033", + "sourceMap": "104:3407:4:-:0;;;545:91;5:9:-1;2:2;;;27:1;24;17:12;2:2;545:91:4;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;545:91:4;;;;;;;;;;;;;;;;616:12;596:4;;:33;;;;;;;;;;;;;;;;;;545:91;104:3407;;;;;;", + "deployedSourceMap": "104:3407:4:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;104:3407:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;47:181:5;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;47:181:5;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2099:312;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2099:312:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;2099:312:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;2099:312:5;;;;;;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;2099:312:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2099:312:5;;;;;;;;;;;;;;;:::i;:::-;;1906:187;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1906:187:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;1906:187:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1906:187:5;;;;;;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;1906:187:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1906:187:5;;;;;;;;;;;;;;;:::i;:::-;;234:669;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;234:669:5;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;234:669:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;234:669:5;;;;;;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;234:669:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;234:669:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;234:669:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;234:669:5;;;;;;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;234:669:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;234:669:5;;;;;;;;;;;;;;;:::i;:::-;;1591:1918:4;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;1591:1918:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1591:1918:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;909:223:5;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;909:223:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;909:223:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;909:223:5;;;;;;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;909:223:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;909:223:5;;;;;;;;;;;;;;;:::i;:::-;;1652:248;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1652:248:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;1652:248:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1652:248:5;;;;;;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;1652:248:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1652:248:5;;;;;;;;;;;;;;;:::i;:::-;;2417:1168;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2417:1168:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1138:251;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1138:251:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;1138:251:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1138:251:5;;;;;;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;1138:251:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1138:251:5;;;;;;;;;;;;;;;:::i;:::-;;1395;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1395:251:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;1395:251:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1395:251:5;;;;;;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;1395:251:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1395:251:5;;;;;;;;;;;;;;;:::i;:::-;;642:94:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;47:181:5;102:4;118:11;182:4;170:17;162:25;;220:1;213:4;:8;;;206:15;;;47:181;;;:::o;2099:312::-;2215:14;2242:2;2232:13;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;2232:13:5;;;;2215:30;;2255:16;2301:2;2290:6;2282:15;;:21;;2274:30;;2255:49;;2347:8;2344:1;2337:19;2375:29;2382:1;2385:6;2393:2;2397:6;2375;:29::i;:::-;2099:312;;;;;:::o;1906:187::-;2070:6;2061;2053;2049:19;2041:36;2027:60;;;:::o;234:669::-;378:16;397:1;378:20;;408:202;422:2;415:3;:9;408:202;;521:8;516:3;512:18;506:25;497:6;489;485:19;478:54;569:2;559:12;;;;597:2;585:14;;;;433:2;426:9;;;;408:202;;;630:1;623:3;:8;619:21;;;633:7;;;619:21;649:12;682:1;675:3;670:2;:8;664:3;:15;:19;649:34;;766:4;762:9;755:3;745:8;741:18;735:25;731:41;833:4;823:6;815;811:19;805:26;801:37;879:7;870:6;862;858:19;851:36;702:195;;;;;;;;;:::o;1591:1918:4:-;1699:12;1727:13;1743:4;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1743:17:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1743:17:4;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1743:17:4;;;;;;;;;;;;;;;;1727:33;;1770:27;1800:103;1830:5;1849:4;1867:5;1886:7;1800:16;:103::i;:::-;1770:133;;1913:19;1945;1935:30;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;1935:30:4;;;;1913:52;;1975:14;1992:7;1975:24;;2077:30;2086:6;2094:4;2100:6;2077:8;:30::i;:::-;2127:1;2117:11;;;;2138:33;2147:6;2155:7;2164:6;2138:8;:33::i;:::-;2191:1;2181:11;;;;2202:31;2211:6;2219:5;2226:6;2202:8;:31::i;:::-;2253:1;2243:11;;;;2264:22;2289:1;2264:26;;2305:9;2317:1;2305:13;;2300:1092;2325:5;2320:1;:10;2300:1092;;2351:18;;:::i;:::-;2372:11;2381:1;2372:8;:11::i;:::-;2351:32;;2401:5;:13;;;:39;;;;;2418:22;2429:5;:10;;;2418;:22::i;:::-;2401:39;2397:985;;;2460:15;2478:35;2494:5;:10;;;2506:6;2478:15;:35::i;:::-;2460:53;;2546:1;2535:7;:12;2531:26;;;2549:8;;;;2531:26;2575:16;;;;;;;2609:41;2621:6;2629:5;:12;;;2643:6;2609:11;:41::i;:::-;2678:2;2668:12;;;;2698:39;2710:6;2718:5;:10;;;2730:6;2698:11;:39::i;:::-;2765:2;2755:12;;;;2785:41;2795:6;2803:5;:14;;;2819:6;2785:9;:41::i;:::-;2854:1;2844:11;;;;2873:33;2882:6;2890:7;2899:6;2873:8;:33::i;:::-;2934:2;2924:12;;;;2958:4;2954:124;;;2986:39;2998:6;3006:5;:10;;;3018:6;2986:11;:39::i;:::-;3057:2;3047:12;;;;2954:124;3099:7;3095:130;;;3130:42;3142:6;3150:5;:13;;;3165:6;3130:11;:42::i;:::-;3204:2;3194:12;;;;3095:130;3246:5;3242:126;;;3275:40;3287:6;3295:5;:11;;;3308:6;3275:11;:40::i;:::-;3347:2;3337:12;;;;3242:126;2397:985;;2300:1092;;2332:3;;;;;;;2300:1092;;;;3401:32;3410:1;3422:2;3413:6;:11;3426:6;3401:8;:32::i;:::-;3443:36;3452:2;3456:14;3472:6;3443:8;:36::i;:::-;3496:6;3489:13;;;;;;;1591:1918;;;;;;:::o;909:223:5:-;1019:7;1039:5;1029:15;;:6;:15;;;:23;;1051:1;1029:23;;;1047:1;1029:23;1019:33;;1114:1;1105:6;1097;1093:19;1085:31;1071:55;;;;:::o;1652:248::-;1765:14;1792:2;1782:13;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;1782:13:5;;;;1765:30;;1838:6;1835:1;1828:17;1864:29;1871:1;1874:6;1882:2;1886:6;1864;:29::i;:::-;1652:248;;;;:::o;2417:1168::-;2507:11;2534:10;2554:31;;;;;;;;;;;;;;;;;;;2534:52;;2684:4;2678:11;2761:3;2756;2749:16;2851:4;2844;2839:3;2835:14;2828:28;3229:4;3182:3;3132:4;3074:3;3029:1;2943:9;2906:6;2884:363;3299:6;3289:2;;3332:1;3325:8;;3289:2;3409:1;3401:6;3398:13;3395:2;;;3443:3;3437:10;3430:17;;3395:2;3527:4;3522:3;3518:14;3512:4;3505:28;2605:974;;;;;;;:::o;1138:251::-;1254:14;1281:2;1271:13;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;1271:13:5;;;;1254:30;;1327:6;1324:1;1317:17;1353:29;1360:1;1363:6;1371:2;1375:6;1353;:29::i;:::-;1138:251;;;;:::o;1395:::-;1511:14;1538:2;1528:13;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;1528:13:5;;;;1511:30;;1584:6;1581:1;1574:17;1610:29;1617:1;1620:6;1628:2;1632:6;1610;:29::i;:::-;1395:251;;;;:::o;642:94:4:-;690:7;724:4;;;;;;;;;;;709:20;;642:94;:::o;1050:535::-;1194:7;1213:18;1234:7;1213:28;;1333:1;1319:15;;;;1371:17;1391:1;1371:21;;1406:4;1402:25;;;1425:2;1412:15;;;;1402:25;1441:7;1437:28;;;1463:2;1450:15;;;;1437:28;1479:5;1475:26;;;1499:2;1486:15;;;;1475:26;1524:2;1511:15;;;;1568:10;1556:9;:22;1543:10;:35;1536:42;;;;1050:535;;;;;;:::o;742:302::-;795:18;;:::i;:::-;1019:4;;;;;;;;;;;:14;;;1034:2;1019:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1019:18:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1019:18:4;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;1019:18:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;839:5;:10;;863:5;:12;;889:5;:10;;913:5;:14;;941:5;:13;;968:5;:11;;993:5;:13;;825:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;742:302;;;:::o;104:3407::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.6.4;\nimport \"./Utils.sol\";\nimport \"./PublicTokens.sol\";\nimport \"./DummyToken.sol\";\n\n\ncontract TokenBalances is Utils {\n struct Token {\n bytes16 name; // Name of the token\n bytes16 symbol; // Symbol of the token\n address addr; // Address of the token contract\n uint8 decimals; // decimals of the token\n bytes32 website; // website of the token\n bytes32 email; // support email of the token\n bool isValid; //whether the token is valid or not\n }\n PublicTokens pubT;\n\n constructor(address tokenStorage) public {\n pubT = PublicTokens(tokenStorage);\n }\n\n function getTokenStorage() public view returns (address) {\n return address(pubT);\n }\n\n function getToken(uint256 id) internal view returns (Token memory token) {\n (\n token.name,\n token.symbol,\n token.addr,\n token.decimals,\n token.website,\n token.email,\n token.isValid\n ) = pubT.pubTokens(id);\n }\n\n function numBytesEstimate(\n uint256 tokenCount,\n bool name,\n bool email,\n bool website\n ) internal pure returns (uint256) {\n uint256 bufferSize = 32 + 32; //set total number of bytes, total number of validTokens at the end\n bufferSize += 3; //set name, website, email\n uint256 iterCount = 0;\n if (name) iterCount += 32;\n if (website) iterCount += 32;\n if (email) iterCount += 32;\n iterCount += 69;\n return bufferSize + iterCount * tokenCount;\n }\n\n function getAllBalance(address _owner, bool name, bool website, bool email)\n public\n returns (bytes memory)\n {\n uint256 count = pubT.tokenCount();\n uint256 estimatedBufferSize = numBytesEstimate(\n count,\n name,\n email,\n website\n );\n bytes memory result = new bytes(estimatedBufferSize);\n uint256 offset = 32 + 32; //set total number of bytes, total number of validTokens at the end\n copyBool(offset, name, result);\n offset += 1;\n copyBool(offset, website, result);\n offset += 1;\n copyBool(offset, email, result);\n offset += 1;\n uint256 numValidTokens = 0;\n for (uint256 i = 1; i <= count; i++) {\n Token memory token = getToken(i);\n if (token.isValid && isContract(token.addr)) {\n uint256 balance = getTokenBalance(token.addr, _owner);\n if (balance == 0) continue;\n numValidTokens++;\n copyBytes16(offset, token.symbol, result);\n offset += 16;\n copyAddress(offset, token.addr, result);\n offset += 20;\n copyUint8(offset, token.decimals, result);\n offset += 1;\n copyUint(offset, balance, result);\n offset += 32;\n if (name) {\n copyBytes16(offset, token.name, result);\n offset += 16;\n }\n if (website) {\n copyBytes32(offset, token.website, result);\n offset += 32;\n }\n if (email) {\n copyBytes32(offset, token.email, result);\n offset += 32;\n }\n }\n }\n copyUint(0, offset - 32, result);\n copyUint(32, numValidTokens, result);\n return result;\n }\n}\n", "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/TokenBalances.sol", "ast": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/TokenBalances.sol", "exportedSymbols": { "TokenBalances": [ - 2564 + 960 ] }, - "id": 2565, + "id": 961, "nodeType": "SourceUnit", "nodes": [ { - "id": 2154, + "id": 608, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:10" + "src": "0:23:4" }, { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol", - "file": "../Seriality/Seriality.sol", - "id": 2155, + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/Utils.sol", + "file": "./Utils.sol", + "id": 609, "nodeType": "ImportDirective", - "scope": 2565, - "sourceUnit": 853, - "src": "25:36:10", + "scope": 961, + "sourceUnit": 1194, + "src": "24:21:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol", "file": "./PublicTokens.sol", - "id": 2156, + "id": 610, "nodeType": "ImportDirective", - "scope": 2565, - "sourceUnit": 2153, - "src": "62:28:10", + "scope": 961, + "sourceUnit": 607, + "src": "46:28:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyToken.sol", "file": "./DummyToken.sol", - "id": 2157, + "id": 611, "nodeType": "ImportDirective", - "scope": 2565, - "sourceUnit": 1700, - "src": "91:26:10", + "scope": 961, + "sourceUnit": 148, + "src": "75:26:4", "symbolAliases": [], "unitAlias": "" }, { + "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, - "id": 2158, - "name": "Seriality", + "id": 612, + "name": "Utils", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 852, - "src": "144:9:10", + "referencedDeclaration": 1193, + "src": "130:5:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_Seriality_$852", - "typeString": "contract Seriality" + "typeIdentifier": "t_contract$_Utils_$1193", + "typeString": "contract Utils" } }, - "id": 2159, + "id": 613, "nodeType": "InheritanceSpecifier", - "src": "144:9:10" + "src": "130:5:4" } ], "contractDependencies": [ - 836, - 852, - 928, - 1049 + 1193 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2564, + "id": 960, "linearizedBaseContracts": [ - 2564, - 852, - 928, - 1049, - 836 + 960, + 1193 ], "name": "TokenBalances", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "TokenBalances.Token", - "id": 2174, + "id": 628, "members": [ { "constant": false, - "id": 2161, + "id": 615, "name": "name", "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "182:12:10", + "overrides": null, + "scope": 628, + "src": "165:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -205,10 +385,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 2160, + "id": 614, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "182:7:10", + "src": "165:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -219,11 +399,12 @@ }, { "constant": false, - "id": 2163, + "id": 617, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "225:14:10", + "overrides": null, + "scope": 628, + "src": "208:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231,10 +412,10 @@ "typeString": "bytes16" }, "typeName": { - "id": 2162, + "id": 616, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "225:7:10", + "src": "208:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -245,11 +426,12 @@ }, { "constant": false, - "id": 2165, + "id": 619, "name": "addr", "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "273:12:10", + "overrides": null, + "scope": 628, + "src": "255:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -257,10 +439,11 @@ "typeString": "address" }, "typeName": { - "id": 2164, + "id": 618, "name": "address", "nodeType": "ElementaryTypeName", - "src": "273:7:10", + "src": "255:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -271,11 +454,12 @@ }, { "constant": false, - "id": 2167, + "id": 621, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "328:14:10", + "overrides": null, + "scope": 628, + "src": "310:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -283,10 +467,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2166, + "id": 620, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "328:5:10", + "src": "310:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -297,11 +481,12 @@ }, { "constant": false, - "id": 2169, + "id": 623, "name": "website", "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "377:15:10", + "overrides": null, + "scope": 628, + "src": "359:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -309,10 +494,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2168, + "id": 622, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "377:7:10", + "src": "359:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -323,11 +508,12 @@ }, { "constant": false, - "id": 2171, + "id": 625, "name": "email", "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "428:13:10", + "overrides": null, + "scope": 628, + "src": "408:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -335,10 +521,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2170, + "id": 624, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "428:7:10", + "src": "408:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -349,11 +535,12 @@ }, { "constant": false, - "id": 2173, + "id": 627, "name": "isValid", "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "481:12:10", + "overrides": null, + "scope": 628, + "src": "461:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -361,10 +548,10 @@ "typeString": "bool" }, "typeName": { - "id": 2172, + "id": 626, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "481:4:10", + "src": "461:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -376,32 +563,33 @@ ], "name": "Token", "nodeType": "StructDefinition", - "scope": 2564, - "src": "159:377:10", + "scope": 960, + "src": "142:374:4", "visibility": "public" }, { "constant": false, - "id": 2176, + "id": 630, "name": "pubT", "nodeType": "VariableDeclaration", - "scope": 2564, - "src": "541:17:10", + "overrides": null, + "scope": 960, + "src": "521:17:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", + "typeIdentifier": "t_contract$_PublicTokens_$606", "typeString": "contract PublicTokens" }, "typeName": { "contractScope": null, - "id": 2175, + "id": 629, "name": "PublicTokens", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2152, - "src": "541:12:10", + "referencedDeclaration": 606, + "src": "521:12:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", + "typeIdentifier": "t_contract$_PublicTokens_$606", "typeString": "contract PublicTokens" } }, @@ -410,28 +598,28 @@ }, { "body": { - "id": 2187, + "id": 641, "nodeType": "Block", - "src": "605:50:10", + "src": "586:50:4", "statements": [ { "expression": { "argumentTypes": null, - "id": 2185, + "id": 639, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2181, + "id": 635, "name": "pubT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "615:4:10", + "referencedDeclaration": 630, + "src": "596:4:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", + "typeIdentifier": "t_contract$_PublicTokens_$606", "typeString": "contract PublicTokens" } }, @@ -442,12 +630,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2183, + "id": 637, "name": "tokenStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "635:12:10", + "referencedDeclaration": 632, + "src": "616:12:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -461,18 +649,18 @@ "typeString": "address" } ], - "id": 2182, + "id": 636, "name": "PublicTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2152, - "src": "622:12:10", + "referencedDeclaration": 606, + "src": "603:12:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PublicTokens_$2152_$", + "typeIdentifier": "t_type$_t_contract$_PublicTokens_$606_$", "typeString": "type(contract PublicTokens)" } }, - "id": 2184, + "id": 638, "isConstant": false, "isLValue": false, "isPure": false, @@ -480,43 +668,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "622:26:10", + "src": "603:26:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", + "typeIdentifier": "t_contract$_PublicTokens_$606", "typeString": "contract PublicTokens" } }, - "src": "615:33:10", + "src": "596:33:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", + "typeIdentifier": "t_contract$_PublicTokens_$606", "typeString": "contract PublicTokens" } }, - "id": 2186, + "id": 640, "nodeType": "ExpressionStatement", - "src": "615:33:10" + "src": "596:33:4" } ] }, "documentation": null, - "id": 2188, + "id": 642, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 2179, + "id": 633, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2178, + "id": 632, "name": "tokenStorage", "nodeType": "VariableDeclaration", - "scope": 2188, - "src": "576:20:10", + "overrides": null, + "scope": 642, + "src": "557:20:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -524,10 +714,11 @@ "typeString": "address" }, "typeName": { - "id": 2177, + "id": 631, "name": "address", "nodeType": "ElementaryTypeName", - "src": "576:7:10", + "src": "557:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -537,74 +728,122 @@ "visibility": "internal" } ], - "src": "575:22:10" + "src": "556:22:4" }, - "payable": false, "returnParameters": { - "id": 2180, + "id": 634, "nodeType": "ParameterList", "parameters": [], - "src": "605:0:10" + "src": "586:0:4" }, - "scope": 2564, - "src": "564:91:10", + "scope": 960, + "src": "545:91:4", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 2195, + "id": 652, "nodeType": "Block", - "src": "716:28:10", + "src": "699:37:4", "statements": [ { "expression": { "argumentTypes": null, - "id": 2193, - "name": "pubT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "733:4:10", + "arguments": [ + { + "argumentTypes": null, + "id": 649, + "name": "pubT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "724:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" + } + ], + "id": 648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "716:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 647, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "716:7:4", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "716:13:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", - "typeString": "contract PublicTokens" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "functionReturnParameters": 2192, - "id": 2194, + "functionReturnParameters": 646, + "id": 651, "nodeType": "Return", - "src": "726:11:10" + "src": "709:20:4" } ] }, "documentation": null, - "id": 2196, + "functionSelector": "f6333d91", + "id": 653, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getTokenStorage", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 2189, + "id": 643, "nodeType": "ParameterList", "parameters": [], - "src": "684:2:10" + "src": "666:2:4" }, - "payable": false, "returnParameters": { - "id": 2192, + "id": 646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2191, + "id": 645, "name": "", "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "708:7:10", + "overrides": null, + "scope": 653, + "src": "690:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -612,10 +851,11 @@ "typeString": "address" }, "typeName": { - "id": 2190, + "id": 644, "name": "address", "nodeType": "ElementaryTypeName", - "src": "708:7:10", + "src": "690:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -625,261 +865,55 @@ "visibility": "internal" } ], - "src": "707:9:10" + "src": "689:9:4" }, - "scope": 2564, - "src": "660:84:10", + "scope": 960, + "src": "642:94:4", "stateMutability": "view", - "superFunction": null, + "virtual": false, "visibility": "public" }, { "body": { - "id": 2211, + "id": 682, "nodeType": "Block", - "src": "812:120:10", + "src": "815:229:4", "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 2204, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 2212, - "src": "822:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2203, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "822:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2205, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "822:11:10" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 2204, - "isOffset": false, - "isSlot": false, - "src": "866:4:10", - "valueSize": 1 - } - }, - { - "addr": { - "declaration": 2198, - "isOffset": false, - "isSlot": false, - "src": "886:4:10", - "valueSize": 1 - } - } - ], - "id": 2206, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(addr)\n}", - "src": "843:73:10" - }, { "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 2209, + "id": 680, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2207, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2204, - "src": "917:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "924:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "917:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2202, - "id": 2210, - "nodeType": "Return", - "src": "910:15:10" - } - ] - }, - "documentation": null, - "id": 2212, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2198, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 2212, - "src": "769:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2197, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "769:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "768:14:10" - }, - "payable": false, - "returnParameters": { - "id": 2202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2201, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2212, - "src": "806:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2200, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "806:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "805:6:10" - }, - "scope": 2564, - "src": "749:183:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2241, - "nodeType": "Block", - "src": "1000:135:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { + "leftHandSide": { "argumentTypes": null, "components": [ { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2219, + "id": 660, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1011:5:10", + "referencedDeclaration": 658, + "src": "839:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2221, + "id": 662, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 2161, - "src": "1011:10:10", + "referencedDeclaration": 615, + "src": "839:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -889,26 +923,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2222, + "id": 663, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1023:5:10", + "referencedDeclaration": 658, + "src": "863:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2223, + "id": 664, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 2163, - "src": "1023:12:10", + "referencedDeclaration": 617, + "src": "863:12:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -918,26 +952,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2224, + "id": 665, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1037:5:10", + "referencedDeclaration": 658, + "src": "889:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2225, + "id": 666, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 2165, - "src": "1037:10:10", + "referencedDeclaration": 619, + "src": "889:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -947,26 +981,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2226, + "id": 667, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1049:5:10", + "referencedDeclaration": 658, + "src": "913:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2227, + "id": 668, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "1049:14:10", + "referencedDeclaration": 621, + "src": "913:14:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -976,26 +1010,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2228, + "id": 669, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1065:5:10", + "referencedDeclaration": 658, + "src": "941:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2229, + "id": 670, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "website", "nodeType": "MemberAccess", - "referencedDeclaration": 2169, - "src": "1065:13:10", + "referencedDeclaration": 623, + "src": "941:13:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1005,26 +1039,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2230, + "id": 671, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1080:5:10", + "referencedDeclaration": 658, + "src": "968:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2231, + "id": 672, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "email", "nodeType": "MemberAccess", - "referencedDeclaration": 2171, - "src": "1080:11:10", + "referencedDeclaration": 625, + "src": "968:11:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1034,40 +1068,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2232, + "id": 673, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1093:5:10", + "referencedDeclaration": 658, + "src": "993:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2233, + "id": 674, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isValid", "nodeType": "MemberAccess", - "referencedDeclaration": 2173, - "src": "1093:13:10", + "referencedDeclaration": 627, + "src": "993:13:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 2234, + "id": 675, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "1010:97:10", + "src": "825:191:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" @@ -1080,12 +1114,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2237, + "id": 678, "name": "id", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2214, - "src": "1125:2:10", + "referencedDeclaration": 655, + "src": "1034:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1101,32 +1135,32 @@ ], "expression": { "argumentTypes": null, - "id": 2235, + "id": 676, "name": "pubT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "1110:4:10", + "referencedDeclaration": 630, + "src": "1019:4:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", + "typeIdentifier": "t_contract$_PublicTokens_$606", "typeString": "contract PublicTokens" } }, - "id": 2236, + "id": 677, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pubTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 1728, - "src": "1110:14:10", + "referencedDeclaration": 176, + "src": "1019:14:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", "typeString": "function (uint256) view external returns (bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" } }, - "id": 2238, + "id": 679, "isConstant": false, "isLValue": false, "isPure": false, @@ -1134,43 +1168,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1110:18:10", + "src": "1019:18:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" } }, - "src": "1010:118:10", + "src": "825:212:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2240, + "id": 681, "nodeType": "ExpressionStatement", - "src": "1010:118:10" + "src": "825:212:4" } ] }, "documentation": null, - "id": 2242, + "id": 683, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getToken", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 2215, + "id": 656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2214, + "id": 655, "name": "id", "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "955:7:10", + "overrides": null, + "scope": 683, + "src": "760:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1178,10 +1214,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2213, - "name": "uint", + "id": 654, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "955:4:10", + "src": "760:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1191,35 +1227,35 @@ "visibility": "internal" } ], - "src": "954:9:10" + "src": "759:12:4" }, - "payable": false, "returnParameters": { - "id": 2218, + "id": 659, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2217, + "id": 658, "name": "token", "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "987:11:10", + "overrides": null, + "scope": 683, + "src": "795:18:4", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token" }, "typeName": { "contractScope": null, - "id": 2216, + "id": 657, "name": "Token", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2174, - "src": "987:5:10", + "referencedDeclaration": 628, + "src": "795:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_storage_ptr", + "typeIdentifier": "t_struct$_Token_$628_storage_ptr", "typeString": "struct TokenBalances.Token" } }, @@ -1227,326 +1263,176 @@ "visibility": "internal" } ], - "src": "986:13:10" + "src": "794:20:4" }, - "scope": 2564, - "src": "937:198:10", + "scope": 960, + "src": "742:302:4", "stateMutability": "view", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 2260, + "id": 738, "nodeType": "Block", - "src": "1229:1038:10", + "src": "1203:382:4", "statements": [ { "assignments": [ - 2252 + 697 ], "declarations": [ { "constant": false, - "id": 2252, - "name": "sig", + "id": 697, + "name": "bufferSize", "nodeType": "VariableDeclaration", - "scope": 2261, - "src": "1239:10:10", + "overrides": null, + "scope": 738, + "src": "1213:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 2251, - "name": "bytes4", + "id": 696, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1239:6:10", + "src": "1213:7:4", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "id": 2258, + "id": 701, "initialValue": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "62616c616e63654f66286164647265737329", - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1269:20:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", - "typeString": "literal_string \"balanceOf(address)\"" - }, - "value": "balanceOf(address)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", - "typeString": "literal_string \"balanceOf(address)\"" - } - ], - "id": 2254, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "1259:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1259:31:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2253, + "commonType": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "id": 700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 698, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1252:6:10", + "nodeType": "Literal", + "src": "1234:2:4", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" }, - "typeName": "bytes4" + "value": "32" }, - "id": 2257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1252:39:10", + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1239:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "1234:7:4", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" } }, "nodeType": "VariableDeclarationStatement", - "src": "1239:52:10" + "src": "1213:28:4" }, { - "externalReferences": [ - { - "sig": { - "declaration": 2252, - "isOffset": false, - "isSlot": false, - "src": "1465:3:10", - "valueSize": 1 - } - }, - { - "bal": { - "declaration": 2249, - "isOffset": false, - "isSlot": false, - "src": "2005:3:10", - "valueSize": 1 - } - }, - { - "addr": { - "declaration": 2246, - "isOffset": false, - "isSlot": false, - "src": "1554:4:10", - "valueSize": 1 + "expression": { + "argumentTypes": null, + "id": 704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 702, + "name": "bufferSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "1319:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - { - "bal": { - "declaration": 2249, - "isOffset": false, - "isSlot": false, - "src": "2113:3:10", - "valueSize": 1 - } + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1333:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" }, - { - "tokenAddr": { - "declaration": 2244, - "isOffset": false, - "isSlot": false, - "src": "1642:9:10", - "valueSize": 1 - } - } - ], - "id": 2259, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n mstore(ptr, sig)\n mstore(add(ptr, 0x04), addr)\n let result := call(150000, tokenAddr, 0, ptr, 0x24, ptr, 0x20)\n if iszero(result)\n {\n bal := 0\n }\n if gt(result, 0)\n {\n bal := mload(ptr)\n }\n mstore(0x40, add(ptr, 0x20))\n}", - "src": "1301:966:10" - } - ] - }, - "documentation": null, - "id": 2261, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTokenBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2244, - "name": "tokenAddr", - "nodeType": "VariableDeclaration", - "scope": 2261, - "src": "1165:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2243, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1165:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2246, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 2261, - "src": "1184:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2245, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1184:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1164:33:10" - }, - "payable": false, - "returnParameters": { - "id": 2250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2249, - "name": "bal", - "nodeType": "VariableDeclaration", - "scope": 2261, - "src": "1219:8:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2248, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1219:4:10", + "src": "1319:15:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "1218:10:10" - }, - "scope": 2564, - "src": "1140:1127:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2562, - "nodeType": "Block", - "src": "2389:2222:10", - "statements": [ + "id": 705, + "nodeType": "ExpressionStatement", + "src": "1319:15:4" + }, { - "assignments": [], + "assignments": [ + 707 + ], "declarations": [ { "constant": false, - "id": 2277, - "name": "count", + "id": 707, + "name": "iterCount", "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2399:10:10", + "overrides": null, + "scope": 738, + "src": "1371:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1554,10 +1440,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2276, - "name": "uint", + "id": 706, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2399:4:10", + "src": "1371:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1567,405 +1453,556 @@ "visibility": "internal" } ], - "id": 2278, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2399:10:10" - }, - { - "assignments": [ - 2280 - ], - "declarations": [ - { - "constant": false, - "id": 2280, - "name": "tOwner", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2419:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2279, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2419:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2282, + "id": 709, "initialValue": { "argumentTypes": null, - "id": 2281, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2263, - "src": "2436:6:10", + "hexValue": "30", + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1391:1:4", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "2419:23:10" + "src": "1371:21:4" }, { "condition": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2283, - "name": "_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2271, - "src": "2455:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2465:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2455:11:10", + "id": 710, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 687, + "src": "1406:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "falseBody": { + "falseBody": null, + "id": 715, + "nodeType": "IfStatement", + "src": "1402:25:4", + "trueBody": { "expression": { "argumentTypes": null, - "id": 2294, + "id": 713, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2292, - "name": "count", + "id": 711, + "name": "iterCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2277, - "src": "2502:5:10", + "referencedDeclaration": 707, + "src": "1412:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 2293, - "name": "_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2271, - "src": "2510:6:10", + "hexValue": "3332", + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1425:2:4", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" }, - "src": "2502:14:10", + "src": "1412:15:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2295, + "id": 714, "nodeType": "ExpressionStatement", - "src": "2502:14:10" + "src": "1412:15:4" + } + }, + { + "condition": { + "argumentTypes": null, + "id": 716, + "name": "website", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 691, + "src": "1441:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, - "id": 2296, + "falseBody": null, + "id": 721, "nodeType": "IfStatement", - "src": "2452:64:10", + "src": "1437:28:4", "trueBody": { "expression": { "argumentTypes": null, - "id": 2290, + "id": 719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2286, - "name": "count", + "id": 717, + "name": "iterCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2277, - "src": "2468:5:10", + "referencedDeclaration": 707, + "src": "1450:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 2287, - "name": "pubT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "2476:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", - "typeString": "contract PublicTokens" - } - }, - "id": 2288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1704, - "src": "2476:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2289, + "hexValue": "3332", + "id": 718, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "number", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2476:17:10", + "nodeType": "Literal", + "src": "1463:2:4", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" }, - "src": "2468:25:10", + "src": "1450:15:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2291, + "id": 720, "nodeType": "ExpressionStatement", - "src": "2468:25:10" + "src": "1450:15:4" } }, { - "assignments": [ - 2300 - ], - "declarations": [ - { - "constant": false, - "id": 2300, - "name": "validTokens", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2526:25:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[]" - }, - "typeName": { - "baseType": { - "id": 2298, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2526:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2299, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2526:6:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", - "typeString": "bool[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2308, - "initialValue": { + "condition": { "argumentTypes": null, - "arguments": [ - { + "id": 722, + "name": "email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 689, + "src": "1479:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 727, + "nodeType": "IfStatement", + "src": "1475:26:4", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { "argumentTypes": null, - "commonType": { + "id": 723, + "name": "iterCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "1486:9:4", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "id": 2306, + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 724, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2304, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2277, - "src": "2565:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2571:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2565:7:10", + "nodeType": "Literal", + "src": "1499:2:4", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "1486:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2303, + }, + "id": 726, + "nodeType": "ExpressionStatement", + "src": "1486:15:4" + } + }, + { + "expression": { + "argumentTypes": null, + "id": 730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 728, + "name": "iterCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "1511:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3639", + "id": 729, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2554:10:10", + "nodeType": "Literal", + "src": "1524:2:4", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_$", - "typeString": "function (uint256) pure returns (bool[] memory)" + "typeIdentifier": "t_rational_69_by_1", + "typeString": "int_const 69" }, - "typeName": { - "baseType": { - "id": 2301, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2558:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2302, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2558:6:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", - "typeString": "bool[]" - } - } + "value": "69" }, - "id": 2307, - "isConstant": false, + "src": "1511:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 731, + "nodeType": "ExpressionStatement", + "src": "1511:15:4" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 736, + "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2554:19:10", + "leftExpression": { + "argumentTypes": null, + "id": 732, + "name": "bufferSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "1543:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 733, + "name": "iterCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "1556:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 734, + "name": "tokenCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 685, + "src": "1568:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1556:22:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1543:35:4", "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory", - "typeString": "bool[] memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2526:47:10" + "functionReturnParameters": 695, + "id": 737, + "nodeType": "Return", + "src": "1536:42:4" + } + ] + }, + "documentation": null, + "id": 739, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "numBytesEstimate", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 685, + "name": "tokenCount", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 739, + "src": "1085:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 684, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1085:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 687, + "name": "name", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 739, + "src": "1113:9:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 686, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1113:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 689, + "name": "email", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 739, + "src": "1132:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 688, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1132:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" }, + { + "constant": false, + "id": 691, + "name": "website", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 739, + "src": "1152:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 690, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1152:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1075:95:4" + }, + "returnParameters": { + "id": 695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 694, + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 739, + "src": "1194:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 693, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1194:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1193:9:4" + }, + "scope": 960, + "src": "1050:535:4", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 958, + "nodeType": "Block", + "src": "1717:1792:4", + "statements": [ { "assignments": [ - 2310 + 753 ], "declarations": [ { "constant": false, - "id": 2310, - "name": "bufferSize", + "id": 753, + "name": "count", "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2583:15:10", + "overrides": null, + "scope": 958, + "src": "1727:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1973,10 +2010,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2309, - "name": "uint", + "id": 752, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2583:4:10", + "src": "1727:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1986,91 +2023,70 @@ "visibility": "internal" } ], - "id": 2312, + "id": 757, "initialValue": { "argumentTypes": null, - "hexValue": "3333", - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2601:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "33" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2583:20:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2313, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "2680:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "33", - "id": 2314, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 754, + "name": "pubT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "1743:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" + } + }, + "id": 755, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "2694:1:10", - "subdenomination": null, + "memberName": "tokenCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 152, + "src": "1743:15:4", "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } }, - "src": "2680:15:10", + "id": 756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1743:17:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2316, - "nodeType": "ExpressionStatement", - "src": "2680:15:10" + "nodeType": "VariableDeclarationStatement", + "src": "1727:33:4" }, { "assignments": [ - 2318 + 759 ], "declarations": [ { "constant": false, - "id": 2318, - "name": "countValidTokens", + "id": 759, + "name": "estimatedBufferSize", "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2732:21:10", + "overrides": null, + "scope": 958, + "src": "1770:27:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2078,10 +2094,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2317, - "name": "uint", + "id": 758, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2732:4:10", + "src": "1770:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2091,987 +2107,440 @@ "visibility": "internal" } ], - "id": 2320, + "id": 766, "initialValue": { "argumentTypes": null, - "hexValue": "30", - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2756:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "arguments": [ + { + "argumentTypes": null, + "id": 761, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "1830:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 762, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 743, + "src": "1849:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 763, + "name": "email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 747, + "src": "1867:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 764, + "name": "website", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "1886:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 760, + "name": "numBytesEstimate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "1800:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bool_$_t_bool_$returns$_t_uint256_$", + "typeString": "function (uint256,bool,bool,bool) pure returns (uint256)" + } }, - "value": "0" + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1800:103:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, "nodeType": "VariableDeclarationStatement", - "src": "2732:25:10" + "src": "1770:133:4" }, { - "body": { - "id": 2384, - "nodeType": "Block", - "src": "2799:482:10", - "statements": [ - { - "assignments": [ - 2332 - ], - "declarations": [ - { - "constant": false, - "id": 2332, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2813:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token" - }, - "typeName": { - "contractScope": null, - "id": 2331, - "name": "Token", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2174, - "src": "2813:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_storage_ptr", - "typeString": "struct TokenBalances.Token" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2336, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2334, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "2843:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2333, - "name": "getToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "2834:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Token_$2174_memory_ptr_$", - "typeString": "function (uint256) view returns (struct TokenBalances.Token memory)" - } - }, - "id": 2335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2834:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2813:32:10" + "assignments": [ + 768 + ], + "declarations": [ + { + "constant": false, + "id": 768, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 958, + "src": "1913:19:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 767, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1913:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } }, + "value": null, + "visibility": "internal" + } + ], + "id": 773, + "initialValue": { + "argumentTypes": null, + "arguments": [ { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2337, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "2862:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2338, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isValid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2173, - "src": "2862:13:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2340, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "2890:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2341, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2165, - "src": "2890:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2339, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2212, - "src": "2879:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2879:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2862:39:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "argumentTypes": null, + "id": 771, + "name": "estimatedBufferSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 759, + "src": "1945:19:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1935:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 769, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1939:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1935:30:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1913:52:4" + }, + { + "assignments": [ + 775 + ], + "declarations": [ + { + "constant": false, + "id": 775, + "name": "offset", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 958, + "src": "1975:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 774, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1975:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 779, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "id": 778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1992:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 777, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1997:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "1992:7:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1975:24:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 781, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2086:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 782, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 743, + "src": "2094:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 783, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "2100:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "falseBody": { - "id": 2382, - "nodeType": "Block", - "src": "3216:55:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2376, - "name": "validTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "3234:11:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[] memory" - } - }, - "id": 2378, - "indexExpression": { - "argumentTypes": null, - "id": 2377, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3246:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3234:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3251:5:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3234:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2381, - "nodeType": "ExpressionStatement", - "src": "3234:22:10" - } - ] + { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 2383, - "nodeType": "IfStatement", - "src": "2859:412:10", - "trueBody": { - "id": 2375, - "nodeType": "Block", - "src": "2902:308:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2344, - "name": "validTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "2920:11:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[] memory" - } - }, - "id": 2346, - "indexExpression": { - "argumentTypes": null, - "id": 2345, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "2932:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2920:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2937:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2920:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2349, - "nodeType": "ExpressionStatement", - "src": "2920:21:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2959:18:10", - "subExpression": { - "argumentTypes": null, - "id": 2350, - "name": "countValidTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "2959:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2352, - "nodeType": "ExpressionStatement", - "src": "2959:18:10" - }, - { - "condition": { - "argumentTypes": null, - "id": 2353, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2265, - "src": "2998:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2358, - "nodeType": "IfStatement", - "src": "2995:25:10", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2354, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3004:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3136", - "id": 2355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3018:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "3004:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2357, - "nodeType": "ExpressionStatement", - "src": "3004:16:10" - } - }, - { - "condition": { - "argumentTypes": null, - "id": 2359, - "name": "website", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2267, - "src": "3041:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2364, - "nodeType": "IfStatement", - "src": "3038:28:10", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2360, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3050:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 2361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3064:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "3050:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2363, - "nodeType": "ExpressionStatement", - "src": "3050:16:10" - } - }, - { - "condition": { - "argumentTypes": null, - "id": 2365, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2269, - "src": "3087:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2370, - "nodeType": "IfStatement", - "src": "3084:26:10", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2366, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3094:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 2367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3108:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "3094:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2369, - "nodeType": "ExpressionStatement", - "src": "3094:16:10" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2371, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3128:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3639", - "id": 2372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3142:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_69_by_1", - "typeString": "int_const 69" - }, - "value": "69" - }, - "src": "3128:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2374, - "nodeType": "ExpressionStatement", - "src": "3128:16:10" - } - ] + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } + ], + "id": 780, + "name": "copyBool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1049, + "src": "2077:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bool,bytes memory) pure" } - ] + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2077:30:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } }, - "condition": { + "id": 785, + "nodeType": "ExpressionStatement", + "src": "2077:30:4" + }, + { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2327, + "id": 788, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "id": 2325, - "name": "i", + "id": 786, + "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "2783:1:10", + "referencedDeclaration": 775, + "src": "2117:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { "argumentTypes": null, - "id": 2326, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2277, - "src": "2788:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2783:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2385, - "initializationExpression": { - "assignments": [ - 2322 - ], - "declarations": [ - { - "constant": false, - "id": 2322, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2771:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2321, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2771:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2324, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 2323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2780:1:10", - "subdenomination": null, + "hexValue": "31", + "id": 787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2127:1:4", + "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "nodeType": "VariableDeclarationStatement", - "src": "2771:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2795:3:10", - "subExpression": { - "argumentTypes": null, - "id": 2328, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "2795:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2330, - "nodeType": "ExpressionStatement", - "src": "2795:3:10" - }, - "nodeType": "ForStatement", - "src": "2767:514:10" - }, - { - "assignments": [ - 2387 - ], - "declarations": [ - { - "constant": false, - "id": 2387, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "3290:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2386, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3290:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2392, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2390, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3322:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3312:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 2388, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3316:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 2391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3312:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3290:43:10" - }, - { - "assignments": [ - 2394 - ], - "declarations": [ - { - "constant": false, - "id": 2394, - "name": "offset", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "3343:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2393, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3343:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2396, - "initialValue": { - "argumentTypes": null, - "id": 2395, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3357:10:10", + "src": "2117:11:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "3343:24:10" + "id": 789, + "nodeType": "ExpressionStatement", + "src": "2117:11:4" }, { "expression": { @@ -3079,12 +2548,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2398, + "id": 791, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3406:6:10", + "referencedDeclaration": 775, + "src": "2147:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3092,30 +2561,25 @@ }, { "argumentTypes": null, - "hexValue": "74727565", - "id": 2399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3414:4:10", - "subdenomination": null, + "id": 792, + "name": "website", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "2155:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" - }, - "value": "true" + } }, { "argumentTypes": null, - "id": 2400, + "id": 793, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3420:6:10", + "referencedDeclaration": 768, + "src": "2164:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -3137,18 +2601,18 @@ "typeString": "bytes memory" } ], - "id": 2397, - "name": "boolToBytes", + "id": 790, + "name": "copyBool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "3394:11:10", + "referencedDeclaration": 1049, + "src": "2138:8:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (uint256,bool,bytes memory) pure" } }, - "id": 2401, + "id": 794, "isConstant": false, "isLValue": false, "isPure": false, @@ -3156,50 +2620,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3394:33:10", + "src": "2138:33:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2402, + "id": 795, "nodeType": "ExpressionStatement", - "src": "3394:33:10" + "src": "2138:33:4" }, { "expression": { "argumentTypes": null, - "id": 2405, + "id": 798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2403, + "id": 796, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3438:6:10", + "referencedDeclaration": 775, + "src": "2181:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "-=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 2404, + "id": 797, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3448:1:10", + "src": "2191:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -3207,15 +2672,15 @@ }, "value": "1" }, - "src": "3438:11:10", + "src": "2181:11:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2406, + "id": 799, "nodeType": "ExpressionStatement", - "src": "3438:11:10" + "src": "2181:11:4" }, { "expression": { @@ -3223,12 +2688,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2408, + "id": 801, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3471:6:10", + "referencedDeclaration": 775, + "src": "2211:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3236,25 +2701,25 @@ }, { "argumentTypes": null, - "id": 2409, - "name": "countValidTokens", + "id": 802, + "name": "email", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "3479:16:10", + "referencedDeclaration": 747, + "src": "2219:5:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, { "argumentTypes": null, - "id": 2410, + "id": 803, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3497:6:10", + "referencedDeclaration": 768, + "src": "2226:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -3268,26 +2733,26 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], - "id": 2407, - "name": "uintToBytes", + "id": 800, + "name": "copyBool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "3459:11:10", + "referencedDeclaration": 1049, + "src": "2202:8:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bool,bytes memory) pure" } }, - "id": 2411, + "id": 804, "isConstant": false, "isLValue": false, "isPure": false, @@ -3295,616 +2760,313 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3459:45:10", + "src": "2202:31:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2412, + "id": 805, "nodeType": "ExpressionStatement", - "src": "3459:45:10" + "src": "2202:31:4" }, { "expression": { "argumentTypes": null, - "id": 2415, + "id": 808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2413, + "id": 806, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3515:6:10", + "referencedDeclaration": 775, + "src": "2243:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "-=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "hexValue": "3332", - "id": 2414, + "hexValue": "31", + "id": 807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3525:2:10", + "src": "2253:1:4", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - "value": "32" + "value": "1" }, - "src": "3515:12:10", + "src": "2243:11:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2416, + "id": 809, "nodeType": "ExpressionStatement", - "src": "3515:12:10" + "src": "2243:11:4" }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2418, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3549:6:10", + "assignments": [ + 811 + ], + "declarations": [ + { + "constant": false, + "id": 811, + "name": "numValidTokens", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 958, + "src": "2264:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 810, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2264:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - { - "argumentTypes": null, - "id": 2419, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2265, - "src": "3557:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2420, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3563:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2417, - "name": "boolToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "3537:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,bytes memory) pure" - } - }, - "id": 2421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3537:33:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "value": null, + "visibility": "internal" } - }, - "id": 2422, - "nodeType": "ExpressionStatement", - "src": "3537:33:10" - }, - { - "expression": { + ], + "id": 813, + "initialValue": { "argumentTypes": null, - "id": 2425, + "hexValue": "30", + "id": 812, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2423, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3581:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3591:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3581:11:10", + "nodeType": "Literal", + "src": "2289:1:4", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "id": 2426, - "nodeType": "ExpressionStatement", - "src": "3581:11:10" + "nodeType": "VariableDeclarationStatement", + "src": "2264:26:4" }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2428, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3614:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2429, - "name": "website", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2267, - "src": "3622:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, + "body": { + "id": 940, + "nodeType": "Block", + "src": "2337:1055:4", + "statements": [ { - "argumentTypes": null, - "id": 2430, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3631:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "assignments": [ + 825 + ], + "declarations": [ + { + "constant": false, + "id": 825, + "name": "token", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 940, + "src": "2351:18:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token" + }, + "typeName": { + "contractScope": null, + "id": 824, + "name": "Token", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 628, + "src": "2351:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_storage_ptr", + "typeString": "struct TokenBalances.Token" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 829, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 827, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 815, + "src": "2381:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 826, + "name": "getToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 683, + "src": "2372:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Token_$628_memory_ptr_$", + "typeString": "function (uint256) view returns (struct TokenBalances.Token memory)" + } + }, + "id": 828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2372:11:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2427, - "name": "boolToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "3602:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,bytes memory) pure" - } - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3602:36:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2432, - "nodeType": "ExpressionStatement", - "src": "3602:36:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2433, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3649:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 2434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3659:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "nodeType": "VariableDeclarationStatement", + "src": "2351:32:4" }, - "value": "1" - }, - "src": "3649:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2436, - "nodeType": "ExpressionStatement", - "src": "3649:11:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2438, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3682:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2439, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2269, - "src": "3690:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2440, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3697:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2437, - "name": "boolToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "3670:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,bytes memory) pure" - } - }, - "id": 2441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3670:34:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2442, - "nodeType": "ExpressionStatement", - "src": "3670:34:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2443, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3715:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3725:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3715:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2446, - "nodeType": "ExpressionStatement", - "src": "3715:11:10" - }, - { - "body": { - "id": 2558, - "nodeType": "Block", - "src": "3763:819:10", - "statements": [ { "condition": { "argumentTypes": null, - "id": 2460, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 836, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3780:15:10", - "subExpression": { + "leftExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2457, - "name": "validTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "3781:11:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[] memory" - } - }, - "id": 2459, - "indexExpression": { + "expression": { "argumentTypes": null, - "id": 2458, - "name": "i", + "id": 830, + "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3793:1:10", + "referencedDeclaration": 825, + "src": "2401:5:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" } }, + "id": 831, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3781:14:10", + "memberName": "isValid", + "nodeType": "MemberAccess", + "referencedDeclaration": 627, + "src": "2401:13:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2462, - "nodeType": "IfStatement", - "src": "3777:28:10", - "trueBody": { - "id": 2461, - "nodeType": "Continue", - "src": "3797:8:10" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2463, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "3819:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2465, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3836:1:10", + "expression": { + "argumentTypes": null, + "id": 833, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "2429:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 834, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 619, + "src": "2429:10:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 2464, - "name": "getToken", + "id": 832, + "name": "isContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "3827:8:10", + "referencedDeclaration": 978, + "src": "2418:10:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Token_$2174_memory_ptr_$", - "typeString": "function (uint256) view returns (struct TokenBalances.Token memory)" + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" } }, - "id": 2466, + "id": 835, "isConstant": false, "isLValue": false, "isPure": false, @@ -3912,730 +3074,255 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3827:11:10", + "src": "2418:22:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "src": "3819:19:10", + "src": "2401:39:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 2468, - "nodeType": "ExpressionStatement", - "src": "3819:19:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2470, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3868:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "falseBody": null, + "id": 939, + "nodeType": "IfStatement", + "src": "2397:985:4", + "trueBody": { + "id": 938, + "nodeType": "Block", + "src": "2442:940:4", + "statements": [ { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2471, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "3876:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" + "assignments": [ + 838 + ], + "declarations": [ + { + "constant": false, + "id": 838, + "name": "balance", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 938, + "src": "2460:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 837, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2460:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" } - }, - "id": 2472, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "symbol", - "nodeType": "MemberAccess", - "referencedDeclaration": 2163, - "src": "3876:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - { - "argumentTypes": null, - "id": 2473, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3890:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2469, - "name": "bytes16ToBytesR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 956, - "src": "3852:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes16_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bytes16,bytes memory)" - } - }, - "id": 2474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3852:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2475, - "nodeType": "ExpressionStatement", - "src": "3852:45:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2476, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3912:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3136", - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3922:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "3912:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2479, - "nodeType": "ExpressionStatement", - "src": "3912:12:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2481, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3953:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { + ], + "id": 844, + "initialValue": { "argumentTypes": null, - "id": 2482, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "3961:5:10", + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 840, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "2494:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 841, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 619, + "src": "2494:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 842, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 741, + "src": "2506:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 839, + "name": "getTokenBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1192, + "src": "2478:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) returns (uint256)" + } + }, + "id": 843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2478:35:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 2483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2165, - "src": "3961:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "nodeType": "VariableDeclarationStatement", + "src": "2460:53:4" }, { - "argumentTypes": null, - "id": 2484, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3973:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 845, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "2535:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2546:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2535:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2480, - "name": "addressToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "3938:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,bytes memory) pure" - } - }, - "id": 2485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3938:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2486, - "nodeType": "ExpressionStatement", - "src": "3938:42:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2487, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3995:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3230", - "id": 2488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4005:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "src": "3995:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2490, - "nodeType": "ExpressionStatement", - "src": "3995:12:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2492, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4033:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "falseBody": null, + "id": 849, + "nodeType": "IfStatement", + "src": "2531:26:4", + "trueBody": { + "id": 848, + "nodeType": "Continue", + "src": "2549:8:4" } }, { - "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2493, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "4041:5:10", + "id": 851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2575:16:4", + "subExpression": { + "argumentTypes": null, + "id": 850, + "name": "numValidTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "2575:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 2494, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4041:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "id": 852, + "nodeType": "ExpressionStatement", + "src": "2575:16:4" }, - { - "argumentTypes": null, - "id": 2495, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4057:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2491, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "4021:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 2496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4021:43:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2497, - "nodeType": "ExpressionStatement", - "src": "4021:43:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2498, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4079:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 2499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4089:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4079:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2501, - "nodeType": "ExpressionStatement", - "src": "4079:11:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2503, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4116:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2505, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "4140:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2506, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2165, - "src": "4140:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2507, - "name": "tOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2280, - "src": "4152:6:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2504, - "name": "getTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2261, - "src": "4124:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 2508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4124:35:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2509, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4161:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2502, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "4104:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 2510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4104:64:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2511, - "nodeType": "ExpressionStatement", - "src": "4104:64:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2512, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4183:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 2513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4193:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "4183:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2515, - "nodeType": "ExpressionStatement", - "src": "4183:12:10" - }, - { - "condition": { - "argumentTypes": null, - "id": 2516, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2265, - "src": "4212:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2529, - "nodeType": "IfStatement", - "src": "4209:109:10", - "trueBody": { - "id": 2528, - "nodeType": "Block", - "src": "4217:101:10", - "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2518, + "id": 854, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4251:6:10", + "referencedDeclaration": 775, + "src": "2621:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4645,26 +3332,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2519, + "id": 855, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "4259:5:10", + "referencedDeclaration": 825, + "src": "2629:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2520, + "id": 856, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "name", + "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 2161, - "src": "4259:10:10", + "referencedDeclaration": 617, + "src": "2629:12:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -4672,12 +3359,12 @@ }, { "argumentTypes": null, - "id": 2521, + "id": 857, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4271:6:10", + "referencedDeclaration": 768, + "src": "2643:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -4699,18 +3386,18 @@ "typeString": "bytes memory" } ], - "id": 2517, - "name": "bytes16ToBytesR", + "id": 853, + "name": "copyBytes16", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 956, - "src": "4235:15:10", + "referencedDeclaration": 1074, + "src": "2609:11:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes16_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bytes16,bytes memory)" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes16_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bytes16,bytes memory) pure" } }, - "id": 2522, + "id": 858, "isConstant": false, "isLValue": false, "isPure": false, @@ -4718,50 +3405,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4235:43:10", + "src": "2609:41:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2523, + "id": 859, "nodeType": "ExpressionStatement", - "src": "4235:43:10" + "src": "2609:41:4" }, { "expression": { "argumentTypes": null, - "id": 2526, + "id": 862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2524, + "id": 860, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4297:6:10", + "referencedDeclaration": 775, + "src": "2668:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "-=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, "hexValue": "3136", - "id": 2525, + "id": 861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4307:2:10", + "src": "2678:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", @@ -4769,54 +3457,28 @@ }, "value": "16" }, - "src": "4297:12:10", + "src": "2668:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2527, + "id": 863, "nodeType": "ExpressionStatement", - "src": "4297:12:10" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 2530, - "name": "website", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2267, - "src": "4334:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2543, - "nodeType": "IfStatement", - "src": "4331:116:10", - "trueBody": { - "id": 2542, - "nodeType": "Block", - "src": "4343:104:10", - "statements": [ + "src": "2668:12:4" + }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2532, + "id": 865, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4377:6:10", + "referencedDeclaration": 775, + "src": "2710:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4826,39 +3488,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2533, + "id": 866, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "4385:5:10", + "referencedDeclaration": 825, + "src": "2718:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2534, + "id": 867, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "website", + "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 2169, - "src": "4385:13:10", + "referencedDeclaration": 619, + "src": "2718:10:4", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 2535, + "id": 868, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4400:6:10", + "referencedDeclaration": 768, + "src": "2730:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -4872,26 +3534,26 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], - "id": 2531, - "name": "bytes32ToBytesR", + "id": 864, + "name": "copyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 967, - "src": "4361:15:10", + "referencedDeclaration": 1172, + "src": "2698:11:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bytes32,bytes memory)" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,address,bytes memory) pure" } }, - "id": 2536, + "id": 869, "isConstant": false, "isLValue": false, "isPure": false, @@ -4899,105 +3561,80 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4361:46:10", + "src": "2698:39:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2537, + "id": 870, "nodeType": "ExpressionStatement", - "src": "4361:46:10" + "src": "2698:39:4" }, { "expression": { "argumentTypes": null, - "id": 2540, + "id": 873, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2538, + "id": 871, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4426:6:10", + "referencedDeclaration": 775, + "src": "2755:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "-=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "hexValue": "3332", - "id": 2539, + "hexValue": "3230", + "id": 872, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4436:2:10", + "src": "2765:2:4", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" }, - "value": "32" + "value": "20" }, - "src": "4426:12:10", + "src": "2755:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2541, + "id": 874, "nodeType": "ExpressionStatement", - "src": "4426:12:10" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 2544, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2269, - "src": "4463:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2557, - "nodeType": "IfStatement", - "src": "4460:112:10", - "trueBody": { - "id": 2556, - "nodeType": "Block", - "src": "4470:102:10", - "statements": [ + "src": "2755:12:4" + }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2546, + "id": 876, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4504:6:10", + "referencedDeclaration": 775, + "src": "2795:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5007,39 +3644,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2547, + "id": 877, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "4512:5:10", + "referencedDeclaration": 825, + "src": "2803:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2548, + "id": 878, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "email", + "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 2171, - "src": "4512:11:10", + "referencedDeclaration": 621, + "src": "2803:14:4", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, { "argumentTypes": null, - "id": 2549, + "id": 879, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4525:6:10", + "referencedDeclaration": 768, + "src": "2819:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -5053,26 +3690,26 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], - "id": 2545, - "name": "bytes32ToBytesR", + "id": 875, + "name": "copyUint8", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 967, - "src": "4488:15:10", + "referencedDeclaration": 1135, + "src": "2785:9:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bytes32,bytes memory)" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint8,bytes memory) pure" } }, - "id": 2550, + "id": 880, "isConstant": false, "isLValue": false, "isPure": false, @@ -5080,1784 +3717,1233 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4488:44:10", + "src": "2785:41:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2551, + "id": 881, "nodeType": "ExpressionStatement", - "src": "4488:44:10" + "src": "2785:41:4" }, { "expression": { "argumentTypes": null, - "id": 2554, + "id": 884, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2552, + "id": 882, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4551:6:10", + "referencedDeclaration": 775, + "src": "2844:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "-=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "hexValue": "3332", - "id": 2553, + "hexValue": "31", + "id": 883, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4561:2:10", + "src": "2854:1:4", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - "value": "32" + "value": "1" }, - "src": "4551:12:10", + "src": "2844:11:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2555, + "id": 885, "nodeType": "ExpressionStatement", - "src": "4551:12:10" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2451, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3747:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 2452, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2277, - "src": "3752:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3747:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2559, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2447, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3740:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3744:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3740:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2450, - "nodeType": "ExpressionStatement", - "src": "3740:5:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3759:3:10", - "subExpression": { - "argumentTypes": null, - "id": 2454, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3759:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2456, - "nodeType": "ExpressionStatement", - "src": "3759:3:10" - }, - "nodeType": "ForStatement", - "src": "3736:846:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2560, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4598:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 2275, - "id": 2561, - "nodeType": "Return", - "src": "4591:13:10" - } - ] - }, - "documentation": null, - "id": 2563, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAllBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2263, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2295:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2295:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2265, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2311:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2264, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2311:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2267, - "name": "website", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2322:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2266, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2322:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2269, - "name": "email", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2336:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2268, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2336:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2271, - "name": "_count", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2348:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2270, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2348:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2294:66:10" - }, - "payable": false, - "returnParameters": { - "id": 2275, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2274, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2382:5:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2273, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2382:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2381:7:10" - }, - "scope": 2564, - "src": "2272:2339:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2565, - "src": "118:4495:10" - } - ], - "src": "0:4613:10" - }, - "legacyAST": { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/TokenBalances.sol", - "exportedSymbols": { - "TokenBalances": [ - 2564 - ] - }, - "id": 2565, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2154, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:10" - }, - { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/Seriality.sol", - "file": "../Seriality/Seriality.sol", - "id": 2155, - "nodeType": "ImportDirective", - "scope": 2565, - "sourceUnit": 853, - "src": "25:36:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol", - "file": "./PublicTokens.sol", - "id": 2156, - "nodeType": "ImportDirective", - "scope": 2565, - "sourceUnit": 2153, - "src": "62:28:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyToken.sol", - "file": "./DummyToken.sol", - "id": 2157, - "nodeType": "ImportDirective", - "scope": 2565, - "sourceUnit": 1700, - "src": "91:26:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2158, - "name": "Seriality", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 852, - "src": "144:9:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Seriality_$852", - "typeString": "contract Seriality" - } - }, - "id": 2159, - "nodeType": "InheritanceSpecifier", - "src": "144:9:10" - } - ], - "contractDependencies": [ - 836, - 852, - 928, - 1049 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2564, - "linearizedBaseContracts": [ - 2564, - 852, - 928, - 1049, - 836 - ], - "name": "TokenBalances", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "TokenBalances.Token", - "id": 2174, - "members": [ - { - "constant": false, - "id": 2161, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "182:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 2160, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "182:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2163, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "225:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 2162, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "225:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2165, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "273:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2164, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "273:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2167, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "328:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2166, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "328:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2169, - "name": "website", - "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "377:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2168, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "377:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2171, - "name": "email", - "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "428:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2170, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "428:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2173, - "name": "isValid", - "nodeType": "VariableDeclaration", - "scope": 2174, - "src": "481:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2172, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "481:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Token", - "nodeType": "StructDefinition", - "scope": 2564, - "src": "159:377:10", - "visibility": "public" - }, - { - "constant": false, - "id": 2176, - "name": "pubT", - "nodeType": "VariableDeclaration", - "scope": 2564, - "src": "541:17:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", - "typeString": "contract PublicTokens" - }, - "typeName": { - "contractScope": null, - "id": 2175, - "name": "PublicTokens", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2152, - "src": "541:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", - "typeString": "contract PublicTokens" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 2187, - "nodeType": "Block", - "src": "605:50:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2181, - "name": "pubT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "615:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", - "typeString": "contract PublicTokens" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2183, - "name": "tokenStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "635:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2182, - "name": "PublicTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2152, - "src": "622:12:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PublicTokens_$2152_$", - "typeString": "type(contract PublicTokens)" - } - }, - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "622:26:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", - "typeString": "contract PublicTokens" - } - }, - "src": "615:33:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", - "typeString": "contract PublicTokens" - } - }, - "id": 2186, - "nodeType": "ExpressionStatement", - "src": "615:33:10" - } - ] - }, - "documentation": null, - "id": 2188, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2178, - "name": "tokenStorage", - "nodeType": "VariableDeclaration", - "scope": 2188, - "src": "576:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "576:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "575:22:10" - }, - "payable": false, - "returnParameters": { - "id": 2180, - "nodeType": "ParameterList", - "parameters": [], - "src": "605:0:10" - }, - "scope": 2564, - "src": "564:91:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2195, - "nodeType": "Block", - "src": "716:28:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2193, - "name": "pubT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "733:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", - "typeString": "contract PublicTokens" - } - }, - "functionReturnParameters": 2192, - "id": 2194, - "nodeType": "Return", - "src": "726:11:10" - } - ] - }, - "documentation": null, - "id": 2196, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTokenStorage", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2189, - "nodeType": "ParameterList", - "parameters": [], - "src": "684:2:10" - }, - "payable": false, - "returnParameters": { - "id": 2192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2191, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "708:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "708:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "707:9:10" - }, - "scope": 2564, - "src": "660:84:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2211, - "nodeType": "Block", - "src": "812:120:10", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 2204, - "name": "size", - "nodeType": "VariableDeclaration", - "scope": 2212, - "src": "822:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2203, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "822:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2205, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "822:11:10" - }, - { - "externalReferences": [ - { - "size": { - "declaration": 2204, - "isOffset": false, - "isSlot": false, - "src": "866:4:10", - "valueSize": 1 - } - }, - { - "addr": { - "declaration": 2198, - "isOffset": false, - "isSlot": false, - "src": "886:4:10", - "valueSize": 1 - } - } - ], - "id": 2206, - "nodeType": "InlineAssembly", - "operations": "{\n size := extcodesize(addr)\n}", - "src": "843:73:10" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "id": 2209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2207, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2204, - "src": "917:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "924:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "917:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2202, - "id": 2210, - "nodeType": "Return", - "src": "910:15:10" - } - ] - }, - "documentation": null, - "id": 2212, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2198, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 2212, - "src": "769:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2197, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "769:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "768:14:10" - }, - "payable": false, - "returnParameters": { - "id": 2202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2201, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2212, - "src": "806:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2200, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "806:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "805:6:10" - }, - "scope": 2564, - "src": "749:183:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2241, - "nodeType": "Block", - "src": "1000:135:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2219, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1011:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2221, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 2161, - "src": "1011:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2222, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1023:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2223, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "symbol", - "nodeType": "MemberAccess", - "referencedDeclaration": 2163, - "src": "1023:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2224, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1037:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2165, - "src": "1037:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2226, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1049:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2227, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "1049:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2228, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1065:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" + "src": "2844:11:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 887, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2882:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 888, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "2890:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 889, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "2899:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 886, + "name": "copyUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1124, + "src": "2873:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,bytes memory) pure" + } + }, + "id": 890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2873:33:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 891, + "nodeType": "ExpressionStatement", + "src": "2873:33:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 892, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2924:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2934:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "2924:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 895, + "nodeType": "ExpressionStatement", + "src": "2924:12:4" + }, + { + "condition": { + "argumentTypes": null, + "id": 896, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 743, + "src": "2958:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 909, + "nodeType": "IfStatement", + "src": "2954:124:4", + "trueBody": { + "id": 908, + "nodeType": "Block", + "src": "2964:114:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 898, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2998:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 899, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "3006:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 900, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 615, + "src": "3006:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + { + "argumentTypes": null, + "id": 901, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3018:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 897, + "name": "copyBytes16", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "2986:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes16_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bytes16,bytes memory) pure" + } + }, + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2986:39:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 903, + "nodeType": "ExpressionStatement", + "src": "2986:39:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 904, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3047:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3136", + "id": 905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3057:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "3047:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 907, + "nodeType": "ExpressionStatement", + "src": "3047:12:4" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 910, + "name": "website", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "3099:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 923, + "nodeType": "IfStatement", + "src": "3095:130:4", + "trueBody": { + "id": 922, + "nodeType": "Block", + "src": "3108:117:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 912, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3142:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 913, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "3150:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 914, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "website", + "nodeType": "MemberAccess", + "referencedDeclaration": 623, + "src": "3150:13:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 915, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3165:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 911, + "name": "copyBytes32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "3130:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bytes32,bytes memory) pure" + } + }, + "id": 916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3130:42:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 917, + "nodeType": "ExpressionStatement", + "src": "3130:42:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 918, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3194:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3204:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "3194:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 921, + "nodeType": "ExpressionStatement", + "src": "3194:12:4" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 924, + "name": "email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 747, + "src": "3246:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 937, + "nodeType": "IfStatement", + "src": "3242:126:4", + "trueBody": { + "id": 936, + "nodeType": "Block", + "src": "3253:115:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 926, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3287:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 927, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "3295:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "email", + "nodeType": "MemberAccess", + "referencedDeclaration": 625, + "src": "3295:11:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 929, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3308:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 925, + "name": "copyBytes32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "3275:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bytes32,bytes memory) pure" + } + }, + "id": 930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3275:40:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 931, + "nodeType": "ExpressionStatement", + "src": "3275:40:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 932, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3337:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3347:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "3337:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 935, + "nodeType": "ExpressionStatement", + "src": "3337:12:4" + } + ] + } } - }, - "id": 2229, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "website", - "nodeType": "MemberAccess", - "referencedDeclaration": 2169, - "src": "1065:13:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 818, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 815, + "src": "2320:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 819, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "2325:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2320:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 941, + "initializationExpression": { + "assignments": [ + 815 + ], + "declarations": [ + { + "constant": false, + "id": 815, + "name": "i", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 941, + "src": "2305:9:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2230, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1080:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2231, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "email", - "nodeType": "MemberAccess", - "referencedDeclaration": 2171, - "src": "1080:11:10", + "typeName": { + "id": 814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2305:7:4", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2232, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2217, - "src": "1093:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isValid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2173, - "src": "1093:13:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2234, + "value": null, + "visibility": "internal" + } + ], + "id": 817, + "initialValue": { + "argumentTypes": null, + "hexValue": "31", + "id": 816, "isConstant": false, - "isInlineArray": false, - "isLValue": true, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2317:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2305:13:4" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 822, + "isConstant": false, + "isLValue": false, "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "1010:97:10", + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2332:3:4", + "subExpression": { + "argumentTypes": null, + "id": 821, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 815, + "src": "2332:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", - "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { + "id": 823, + "nodeType": "ExpressionStatement", + "src": "2332:3:4" + }, + "nodeType": "ForStatement", + "src": "2300:1092:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3410:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "id": 2237, - "name": "id", + "id": 944, + "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2214, - "src": "1125:2:10", + "referencedDeclaration": 775, + "src": "3413:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { "argumentTypes": null, - "id": 2235, - "name": "pubT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "1110:4:10", + "hexValue": "3332", + "id": 945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3422:2:4", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", - "typeString": "contract PublicTokens" - } + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" }, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pubTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1728, - "src": "1110:14:10", + "src": "3413:11:4", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", - "typeString": "function (uint256) view external returns (bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 2238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1110:18:10", + { + "argumentTypes": null, + "id": 947, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3426:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 942, + "name": "copyUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1124, + "src": "3401:8:4", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", - "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,bytes memory) pure" } }, - "src": "1010:118:10", + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3401:32:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2240, + "id": 949, "nodeType": "ExpressionStatement", - "src": "1010:118:10" - } - ] - }, - "documentation": null, - "id": 2242, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2214, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "955:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2213, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "955:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "954:9:10" - }, - "payable": false, - "returnParameters": { - "id": 2218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2217, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "987:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token" - }, - "typeName": { - "contractScope": null, - "id": 2216, - "name": "Token", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2174, - "src": "987:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_storage_ptr", - "typeString": "struct TokenBalances.Token" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "986:13:10" - }, - "scope": 2564, - "src": "937:198:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2260, - "nodeType": "Block", - "src": "1229:1038:10", - "statements": [ + "src": "3401:32:4" + }, { - "assignments": [ - 2252 - ], - "declarations": [ - { - "constant": false, - "id": 2252, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 2261, - "src": "1239:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2251, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1239:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2258, - "initialValue": { + "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "62616c616e63654f66286164647265737329", - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1269:20:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", - "typeString": "literal_string \"balanceOf(address)\"" - }, - "value": "balanceOf(address)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", - "typeString": "literal_string \"balanceOf(address)\"" - } - ], - "id": 2254, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "1259:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2256, + "hexValue": "3332", + "id": 951, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "functionCall", + "kind": "number", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1259:31:10", + "nodeType": "Literal", + "src": "3452:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + { + "argumentTypes": null, + "id": 952, + "name": "numValidTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "3456:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 953, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3472:6:4", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } ], - "id": 2253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1252:6:10", + "id": 950, + "name": "copyUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1124, + "src": "3443:8:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,bytes memory) pure" + } }, - "id": 2257, + "id": 954, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "typeConversion", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1252:39:10", + "src": "3443:36:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "1239:52:10" + "id": 955, + "nodeType": "ExpressionStatement", + "src": "3443:36:4" }, { - "externalReferences": [ - { - "sig": { - "declaration": 2252, - "isOffset": false, - "isSlot": false, - "src": "1465:3:10", - "valueSize": 1 - } - }, - { - "bal": { - "declaration": 2249, - "isOffset": false, - "isSlot": false, - "src": "2005:3:10", - "valueSize": 1 - } - }, - { - "addr": { - "declaration": 2246, - "isOffset": false, - "isSlot": false, - "src": "1554:4:10", - "valueSize": 1 - } - }, - { - "bal": { - "declaration": 2249, - "isOffset": false, - "isSlot": false, - "src": "2113:3:10", - "valueSize": 1 - } - }, - { - "tokenAddr": { - "declaration": 2244, - "isOffset": false, - "isSlot": false, - "src": "1642:9:10", - "valueSize": 1 - } + "expression": { + "argumentTypes": null, + "id": 956, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3496:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } - ], - "id": 2259, - "nodeType": "InlineAssembly", - "operations": "{\n let ptr := mload(0x40)\n mstore(ptr, sig)\n mstore(add(ptr, 0x04), addr)\n let result := call(150000, tokenAddr, 0, ptr, 0x24, ptr, 0x20)\n if iszero(result)\n {\n bal := 0\n }\n if gt(result, 0)\n {\n bal := mload(ptr)\n }\n mstore(0x40, add(ptr, 0x20))\n}", - "src": "1301:966:10" + }, + "functionReturnParameters": 751, + "id": 957, + "nodeType": "Return", + "src": "3489:13:4" } ] }, "documentation": null, - "id": 2261, + "functionSelector": "5b65bdc5", + "id": 959, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "getTokenBalance", + "name": "getAllBalance", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 2247, + "id": 748, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2244, - "name": "tokenAddr", + "id": 741, + "name": "_owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 959, + "src": "1614:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 740, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1614:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 743, + "name": "name", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 959, + "src": "1630:9:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 742, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1630:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 745, + "name": "website", "nodeType": "VariableDeclaration", - "scope": 2261, - "src": "1165:17:10", + "overrides": null, + "scope": 959, + "src": "1641:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": 2243, - "name": "address", + "id": 744, + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1165:7:10", + "src": "1641:4:4", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "value": null, @@ -6865,1578 +4951,1238 @@ }, { "constant": false, - "id": 2246, - "name": "addr", + "id": 747, + "name": "email", "nodeType": "VariableDeclaration", - "scope": 2261, - "src": "1184:12:10", + "overrides": null, + "scope": 959, + "src": "1655:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": 2245, - "name": "address", + "id": 746, + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1184:7:10", + "src": "1655:4:4", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "value": null, "visibility": "internal" } ], - "src": "1164:33:10" + "src": "1613:53:4" }, - "payable": false, "returnParameters": { - "id": 2250, + "id": 751, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2249, - "name": "bal", + "id": 750, + "name": "", "nodeType": "VariableDeclaration", - "scope": 2261, - "src": "1219:8:10", + "overrides": null, + "scope": 959, + "src": "1699:12:4", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 749, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1699:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1698:14:4" + }, + "scope": 960, + "src": "1591:1918:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 961, + "src": "104:3407:4" + } + ], + "src": "0:3512:4" + }, + "legacyAST": { + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/TokenBalances.sol", + "exportedSymbols": { + "TokenBalances": [ + 960 + ] + }, + "id": 961, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 608, + "literals": [ + "solidity", + "^", + "0.6", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "0:23:4" + }, + { + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/Utils.sol", + "file": "./Utils.sol", + "id": 609, + "nodeType": "ImportDirective", + "scope": 961, + "sourceUnit": 1194, + "src": "24:21:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/PublicTokens.sol", + "file": "./PublicTokens.sol", + "id": 610, + "nodeType": "ImportDirective", + "scope": 961, + "sourceUnit": 607, + "src": "46:28:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/DummyToken.sol", + "file": "./DummyToken.sol", + "id": 611, + "nodeType": "ImportDirective", + "scope": 961, + "sourceUnit": 148, + "src": "75:26:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 612, + "name": "Utils", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1193, + "src": "130:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Utils_$1193", + "typeString": "contract Utils" + } + }, + "id": 613, + "nodeType": "InheritanceSpecifier", + "src": "130:5:4" + } + ], + "contractDependencies": [ + 1193 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 960, + "linearizedBaseContracts": [ + 960, + 1193 + ], + "name": "TokenBalances", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "TokenBalances.Token", + "id": 628, + "members": [ + { + "constant": false, + "id": 615, + "name": "name", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 628, + "src": "165:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 614, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "165:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 617, + "name": "symbol", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 628, + "src": "208:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 616, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "208:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 619, + "name": "addr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 628, + "src": "255:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 618, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "255:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 621, + "name": "decimals", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 628, + "src": "310:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 620, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "310:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 623, + "name": "website", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 628, + "src": "359:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 622, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "359:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 625, + "name": "email", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 628, + "src": "408:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 624, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "408:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 627, + "name": "isValid", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 628, + "src": "461:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 626, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "461:4:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2248, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1219:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1218:10:10" - }, - "scope": 2564, - "src": "1140:1127:10", - "stateMutability": "view", - "superFunction": null, + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Token", + "nodeType": "StructDefinition", + "scope": 960, + "src": "142:374:4", "visibility": "public" }, + { + "constant": false, + "id": 630, + "name": "pubT", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 960, + "src": "521:17:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" + }, + "typeName": { + "contractScope": null, + "id": 629, + "name": "PublicTokens", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 606, + "src": "521:12:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" + } + }, + "value": null, + "visibility": "internal" + }, { "body": { - "id": 2562, + "id": 641, "nodeType": "Block", - "src": "2389:2222:10", + "src": "586:50:4", "statements": [ { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 2277, - "name": "count", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2399:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2276, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2399:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2278, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2399:10:10" - }, - { - "assignments": [ - 2280 - ], - "declarations": [ - { - "constant": false, - "id": 2280, - "name": "tOwner", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2419:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2279, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2419:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2282, - "initialValue": { - "argumentTypes": null, - "id": 2281, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2263, - "src": "2436:6:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2419:23:10" - }, - { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2285, + "id": 639, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "id": 2283, - "name": "_count", + "id": 635, + "name": "pubT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2271, - "src": "2455:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2465:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2455:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "expression": { - "argumentTypes": null, - "id": 2294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2292, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2277, - "src": "2502:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2293, - "name": "_count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2271, - "src": "2510:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2502:14:10", + "referencedDeclaration": 630, + "src": "596:4:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" } }, - "id": 2295, - "nodeType": "ExpressionStatement", - "src": "2502:14:10" - }, - "id": 2296, - "nodeType": "IfStatement", - "src": "2452:64:10", - "trueBody": { - "expression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "id": 2290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2286, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2277, - "src": "2468:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 2287, - "name": "pubT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "2476:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PublicTokens_$2152", - "typeString": "contract PublicTokens" - } - }, - "id": 2288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1704, - "src": "2476:15:10", + "arguments": [ + { + "argumentTypes": null, + "id": 637, + "name": "tokenStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "616:12:4", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": 2289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2476:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } - }, - "src": "2468:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2291, - "nodeType": "ExpressionStatement", - "src": "2468:25:10" - } - }, - { - "assignments": [ - 2300 - ], - "declarations": [ - { - "constant": false, - "id": 2300, - "name": "validTokens", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2526:25:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[]" - }, - "typeName": { - "baseType": { - "id": 2298, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2526:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": 2299, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2526:6:10", + ], + "id": 636, + "name": "PublicTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 606, + "src": "603:12:4", "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", - "typeString": "bool[]" + "typeIdentifier": "t_type$_t_contract$_PublicTokens_$606_$", + "typeString": "type(contract PublicTokens)" } }, - "value": null, - "visibility": "internal" + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "603:26:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" + } + }, + "src": "596:33:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" } - ], - "id": 2308, - "initialValue": { + }, + "id": 640, + "nodeType": "ExpressionStatement", + "src": "596:33:4" + } + ] + }, + "documentation": null, + "id": 642, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 632, + "name": "tokenStorage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 642, + "src": "557:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 631, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "557:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "556:22:4" + }, + "returnParameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [], + "src": "586:0:4" + }, + "scope": 960, + "src": "545:91:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 652, + "nodeType": "Block", + "src": "699:37:4", + "statements": [ + { + "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2304, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2277, - "src": "2565:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2571:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2565:7:10", + "id": 649, + "name": "pubT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "724:4:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" } ], - "id": 2303, + "id": 648, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2554:10:10", + "nodeType": "ElementaryTypeNameExpression", + "src": "716:7:4", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_$", - "typeString": "function (uint256) pure returns (bool[] memory)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, "typeName": { - "baseType": { - "id": 2301, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2558:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2302, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2558:6:10", + "id": 647, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "716:7:4", "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", - "typeString": "bool[]" + "typeIdentifier": null, + "typeString": null } } }, - "id": 2307, + "id": 650, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2554:19:10", + "src": "716:13:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory", - "typeString": "bool[] memory" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2526:47:10" - }, + "functionReturnParameters": 646, + "id": 651, + "nodeType": "Return", + "src": "709:20:4" + } + ] + }, + "documentation": null, + "functionSelector": "f6333d91", + "id": 653, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokenStorage", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 643, + "nodeType": "ParameterList", + "parameters": [], + "src": "666:2:4" + }, + "returnParameters": { + "id": 646, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 2310 - ], - "declarations": [ - { - "constant": false, - "id": 2310, - "name": "bufferSize", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2583:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2309, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2583:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2312, - "initialValue": { - "argumentTypes": null, - "hexValue": "3333", - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2601:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33_by_1", - "typeString": "int_const 33" - }, - "value": "33" + "constant": false, + "id": 645, + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 653, + "src": "690:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "nodeType": "VariableDeclarationStatement", - "src": "2583:20:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2313, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "2680:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "33", - "id": 2314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2694:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "2680:15:10", + "typeName": { + "id": 644, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "690:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 2316, - "nodeType": "ExpressionStatement", - "src": "2680:15:10" - }, - { - "assignments": [ - 2318 - ], - "declarations": [ - { - "constant": false, - "id": 2318, - "name": "countValidTokens", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2732:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2317, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2732:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2320, - "initialValue": { + "value": null, + "visibility": "internal" + } + ], + "src": "689:9:4" + }, + "scope": 960, + "src": "642:94:4", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 682, + "nodeType": "Block", + "src": "815:229:4", + "statements": [ + { + "expression": { "argumentTypes": null, - "hexValue": "30", - "id": 2319, + "id": 680, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "2756:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2732:25:10" - }, - { - "body": { - "id": 2384, - "nodeType": "Block", - "src": "2799:482:10", - "statements": [ - { - "assignments": [ - 2332 - ], - "declarations": [ - { - "constant": false, - "id": 2332, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2813:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token" - }, - "typeName": { - "contractScope": null, - "id": 2331, - "name": "Token", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2174, - "src": "2813:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_storage_ptr", - "typeString": "struct TokenBalances.Token" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2336, - "initialValue": { + "leftHandSide": { + "argumentTypes": null, + "components": [ + { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2334, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "2843:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2333, - "name": "getToken", + "argumentTypes": null, + "id": 660, + "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "2834:8:10", + "referencedDeclaration": 658, + "src": "839:5:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Token_$2174_memory_ptr_$", - "typeString": "function (uint256) view returns (struct TokenBalances.Token memory)" + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" } }, - "id": 2335, + "id": 662, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2834:11:10", + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 615, + "src": "839:10:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2813:32:10" - }, - { - "condition": { + { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "expression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2337, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "2862:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2338, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isValid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2173, - "src": "2862:13:10", + "id": 663, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 658, + "src": "863:5:4", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" } }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { + "id": 664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "symbol", + "nodeType": "MemberAccess", + "referencedDeclaration": 617, + "src": "863:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2340, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "2890:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2341, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2165, - "src": "2890:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2339, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2212, - "src": "2879:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2879:22:10", + "id": 665, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 658, + "src": "889:5:4", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" } }, - "src": "2862:39:10", + "id": 666, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 619, + "src": "889:10:4", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "falseBody": { - "id": 2382, - "nodeType": "Block", - "src": "3216:55:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2376, - "name": "validTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "3234:11:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[] memory" - } - }, - "id": 2378, - "indexExpression": { - "argumentTypes": null, - "id": 2377, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3246:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3234:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3251:5:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3234:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2381, - "nodeType": "ExpressionStatement", - "src": "3234:22:10" + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 667, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 658, + "src": "913:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" } - ] + }, + "id": 668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 621, + "src": "913:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } }, - "id": 2383, - "nodeType": "IfStatement", - "src": "2859:412:10", - "trueBody": { - "id": 2375, - "nodeType": "Block", - "src": "2902:308:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2344, - "name": "validTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "2920:11:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[] memory" - } - }, - "id": 2346, - "indexExpression": { - "argumentTypes": null, - "id": 2345, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "2932:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2920:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2937:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2920:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2349, - "nodeType": "ExpressionStatement", - "src": "2920:21:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2959:18:10", - "subExpression": { - "argumentTypes": null, - "id": 2350, - "name": "countValidTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "2959:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2352, - "nodeType": "ExpressionStatement", - "src": "2959:18:10" - }, - { - "condition": { - "argumentTypes": null, - "id": 2353, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2265, - "src": "2998:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2358, - "nodeType": "IfStatement", - "src": "2995:25:10", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2354, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3004:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3136", - "id": 2355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3018:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "3004:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2357, - "nodeType": "ExpressionStatement", - "src": "3004:16:10" - } - }, - { - "condition": { - "argumentTypes": null, - "id": 2359, - "name": "website", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2267, - "src": "3041:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2364, - "nodeType": "IfStatement", - "src": "3038:28:10", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2360, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3050:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 2361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3064:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "3050:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2363, - "nodeType": "ExpressionStatement", - "src": "3050:16:10" - } - }, - { - "condition": { - "argumentTypes": null, - "id": 2365, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2269, - "src": "3087:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2370, - "nodeType": "IfStatement", - "src": "3084:26:10", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 2368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2366, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3094:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 2367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3108:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "3094:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2369, - "nodeType": "ExpressionStatement", - "src": "3094:16:10" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2371, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3128:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3639", - "id": 2372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3142:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_69_by_1", - "typeString": "int_const 69" - }, - "value": "69" - }, - "src": "3128:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2374, - "nodeType": "ExpressionStatement", - "src": "3128:16:10" + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 669, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 658, + "src": "941:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" } - ] + }, + "id": 670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "website", + "nodeType": "MemberAccess", + "referencedDeclaration": 623, + "src": "941:13:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 671, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 658, + "src": "968:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 672, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "email", + "nodeType": "MemberAccess", + "referencedDeclaration": 625, + "src": "968:11:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 673, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 658, + "src": "993:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isValid", + "nodeType": "MemberAccess", + "referencedDeclaration": 627, + "src": "993:13:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2325, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "2783:1:10", + ], + "id": 675, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "825:191:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", + "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" } }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "id": 2326, - "name": "count", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2277, - "src": "2788:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2783:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2385, - "initializationExpression": { - "assignments": [ - 2322 - ], - "declarations": [ - { - "constant": false, - "id": 2322, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2771:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2321, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2771:4:10", + "arguments": [ + { + "argumentTypes": null, + "id": 678, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 655, + "src": "1034:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 676, + "name": "pubT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "1019:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" + } }, - "value": null, - "visibility": "internal" - } - ], - "id": 2324, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 2323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2780:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "id": 677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pubTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 176, + "src": "1019:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", + "typeString": "function (uint256) view external returns (bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" + } }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2771:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2329, + "id": 679, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2795:3:10", - "subExpression": { - "argumentTypes": null, - "id": 2328, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "2795:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "names": [], + "nodeType": "FunctionCall", + "src": "1019:18:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_bytes16_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bool_$", + "typeString": "tuple(bytes16,bytes16,address,uint8,bytes32,bytes32,bool)" } }, - "id": 2330, - "nodeType": "ExpressionStatement", - "src": "2795:3:10" + "src": "825:212:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 681, + "nodeType": "ExpressionStatement", + "src": "825:212:4" + } + ] + }, + "documentation": null, + "id": 683, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getToken", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 655, + "name": "id", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 683, + "src": "760:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 654, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "760:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "759:12:4" + }, + "returnParameters": { + "id": 659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 658, + "name": "token", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 683, + "src": "795:18:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token" + }, + "typeName": { + "contractScope": null, + "id": 657, + "name": "Token", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 628, + "src": "795:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_storage_ptr", + "typeString": "struct TokenBalances.Token" + } }, - "nodeType": "ForStatement", - "src": "2767:514:10" - }, + "value": null, + "visibility": "internal" + } + ], + "src": "794:20:4" + }, + "scope": 960, + "src": "742:302:4", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 738, + "nodeType": "Block", + "src": "1203:382:4", + "statements": [ { "assignments": [ - 2387 + 697 ], "declarations": [ { "constant": false, - "id": 2387, - "name": "result", + "id": 697, + "name": "bufferSize", "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "3290:19:10", + "overrides": null, + "scope": 738, + "src": "1213:18:4", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 2386, - "name": "bytes", + "id": 696, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3290:5:10", + "src": "1213:7:4", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "id": 2392, + "id": 701, "initialValue": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2390, - "name": "bufferSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3322:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2389, + "commonType": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "id": 700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 698, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3312:9:10", + "nodeType": "Literal", + "src": "1234:2:4", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" }, - "typeName": { - "id": 2388, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3316:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1239:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" }, - "id": 2391, + "src": "1234:7:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1213:28:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 704, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3312:21:10", + "leftHandSide": { + "argumentTypes": null, + "id": 702, + "name": "bufferSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "1319:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1333:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1319:15:4", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "3290:43:10" + "id": 705, + "nodeType": "ExpressionStatement", + "src": "1319:15:4" }, { "assignments": [ - 2394 + 707 ], "declarations": [ { "constant": false, - "id": 2394, - "name": "offset", + "id": 707, + "name": "iterCount", "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "3343:11:10", + "overrides": null, + "scope": 738, + "src": "1371:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8444,10 +6190,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2393, - "name": "uint", + "id": 706, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3343:4:10", + "src": "1371:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8457,238 +6203,610 @@ "visibility": "internal" } ], - "id": 2396, + "id": 709, "initialValue": { "argumentTypes": null, - "id": 2395, - "name": "bufferSize", + "hexValue": "30", + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1391:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1371:21:4" + }, + { + "condition": { + "argumentTypes": null, + "id": 710, + "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "3357:10:10", + "referencedDeclaration": 687, + "src": "1406:4:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "VariableDeclarationStatement", - "src": "3343:24:10" + "falseBody": null, + "id": 715, + "nodeType": "IfStatement", + "src": "1402:25:4", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 711, + "name": "iterCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "1412:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1425:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "1412:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 714, + "nodeType": "ExpressionStatement", + "src": "1412:15:4" + } }, { - "expression": { + "condition": { "argumentTypes": null, - "arguments": [ - { + "id": 716, + "name": "website", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 691, + "src": "1441:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 721, + "nodeType": "IfStatement", + "src": "1437:28:4", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 717, + "name": "iterCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "1450:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1463:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "1450:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 720, + "nodeType": "ExpressionStatement", + "src": "1450:15:4" + } + }, + { + "condition": { + "argumentTypes": null, + "id": 722, + "name": "email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 689, + "src": "1479:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 727, + "nodeType": "IfStatement", + "src": "1475:26:4", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { "argumentTypes": null, - "id": 2398, - "name": "offset", + "id": 723, + "name": "iterCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3406:6:10", + "referencedDeclaration": 707, + "src": "1486:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - { + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { "argumentTypes": null, - "hexValue": "74727565", - "id": 2399, + "hexValue": "3332", + "id": 724, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "bool", + "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3414:4:10", + "src": "1499:2:4", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" }, - "value": "true" + "value": "32" }, - { - "argumentTypes": null, - "id": 2400, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3420:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2397, - "name": "boolToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "3394:11:10", + "src": "1486:15:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,bytes memory) pure" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 2401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3394:33:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2402, - "nodeType": "ExpressionStatement", - "src": "3394:33:10" + "id": 726, + "nodeType": "ExpressionStatement", + "src": "1486:15:4" + } }, { "expression": { "argumentTypes": null, - "id": 2405, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2403, - "name": "offset", + "id": 728, + "name": "iterCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3438:6:10", + "referencedDeclaration": 707, + "src": "1511:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "-=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "hexValue": "31", - "id": 2404, + "hexValue": "3639", + "id": 729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3448:1:10", + "src": "1524:2:4", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_rational_69_by_1", + "typeString": "int_const 69" }, - "value": "1" + "value": "69" }, - "src": "3438:11:10", + "src": "1511:15:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2406, + "id": 731, "nodeType": "ExpressionStatement", - "src": "3438:11:10" + "src": "1511:15:4" }, { "expression": { "argumentTypes": null, - "arguments": [ - { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 732, + "name": "bufferSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "1543:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "id": 2408, - "name": "offset", + "id": 733, + "name": "iterCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "1556:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 734, + "name": "tokenCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3471:6:10", + "referencedDeclaration": 685, + "src": "1568:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - { - "argumentTypes": null, - "id": 2409, - "name": "countValidTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "3479:16:10", + "src": "1556:22:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1543:35:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 695, + "id": 737, + "nodeType": "Return", + "src": "1536:42:4" + } + ] + }, + "documentation": null, + "id": 739, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "numBytesEstimate", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 685, + "name": "tokenCount", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 739, + "src": "1085:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 684, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1085:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 687, + "name": "name", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 739, + "src": "1113:9:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 686, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1113:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 689, + "name": "email", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 739, + "src": "1132:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 688, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1132:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 691, + "name": "website", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 739, + "src": "1152:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 690, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1152:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1075:95:4" + }, + "returnParameters": { + "id": 695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 694, + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 739, + "src": "1194:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 693, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1194:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1193:9:4" + }, + "scope": 960, + "src": "1050:535:4", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 958, + "nodeType": "Block", + "src": "1717:1792:4", + "statements": [ + { + "assignments": [ + 753 + ], + "declarations": [ + { + "constant": false, + "id": 753, + "name": "count", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 958, + "src": "1727:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1727:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - { + "value": null, + "visibility": "internal" + } + ], + "id": 757, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { "argumentTypes": null, - "id": 2410, - "name": "result", + "id": 754, + "name": "pubT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3497:6:10", + "referencedDeclaration": 630, + "src": "1743:4:4", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_contract$_PublicTokens_$606", + "typeString": "contract PublicTokens" } - ], - "id": 2407, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "3459:11:10", + }, + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 152, + "src": "1743:15:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" } }, - "id": 2411, + "id": 756, "isConstant": false, "isLValue": false, "isPure": false, @@ -8696,79 +6814,61 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3459:45:10", + "src": "1743:17:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 2412, - "nodeType": "ExpressionStatement", - "src": "3459:45:10" + "nodeType": "VariableDeclarationStatement", + "src": "1727:33:4" }, { - "expression": { - "argumentTypes": null, - "id": 2415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2413, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3515:6:10", + "assignments": [ + 759 + ], + "declarations": [ + { + "constant": false, + "id": 759, + "name": "estimatedBufferSize", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 958, + "src": "1770:27:4", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3332", - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3525:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" }, - "value": "32" - }, - "src": "3515:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeName": { + "id": 758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1770:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" } - }, - "id": 2416, - "nodeType": "ExpressionStatement", - "src": "3515:12:10" - }, - { - "expression": { + ], + "id": 766, + "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2418, - "name": "offset", + "id": 761, + "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3549:6:10", + "referencedDeclaration": 753, + "src": "1830:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8776,12 +6876,12 @@ }, { "argumentTypes": null, - "id": 2419, + "id": 762, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2265, - "src": "3557:4:10", + "referencedDeclaration": 743, + "src": "1849:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8789,15 +6889,28 @@ }, { "argumentTypes": null, - "id": 2420, - "name": "result", + "id": 763, + "name": "email", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3563:6:10", + "referencedDeclaration": 747, + "src": "1867:5:4", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 764, + "name": "website", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "1886:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } } ], @@ -8812,22 +6925,26 @@ "typeString": "bool" }, { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" } ], - "id": 2417, - "name": "boolToBytes", + "id": 760, + "name": "numBytesEstimate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "3537:11:10", + "referencedDeclaration": 739, + "src": "1800:16:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,bytes memory) pure" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bool_$_t_bool_$returns$_t_uint256_$", + "typeString": "function (uint256,bool,bool,bool) pure returns (uint256)" } }, - "id": 2421, + "id": 765, "isConstant": false, "isLValue": false, "isPure": false, @@ -8835,109 +6952,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3537:33:10", + "src": "1800:103:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 2422, - "nodeType": "ExpressionStatement", - "src": "3537:33:10" + "nodeType": "VariableDeclarationStatement", + "src": "1770:133:4" }, { - "expression": { - "argumentTypes": null, - "id": 2425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2423, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3581:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3591:1:10", - "subdenomination": null, + "assignments": [ + 768 + ], + "declarations": [ + { + "constant": false, + "id": 768, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 958, + "src": "1913:19:4", + "stateVariable": false, + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, - "value": "1" - }, - "src": "3581:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeName": { + "id": 767, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1913:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" } - }, - "id": 2426, - "nodeType": "ExpressionStatement", - "src": "3581:11:10" - }, - { - "expression": { + ], + "id": 773, + "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2428, - "name": "offset", + "id": 771, + "name": "estimatedBufferSize", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3614:6:10", + "referencedDeclaration": 759, + "src": "1945:19:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - { - "argumentTypes": null, - "id": 2429, - "name": "website", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2267, - "src": "3622:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 2430, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3631:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } } ], "expression": { @@ -8945,28 +7018,31 @@ { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" } ], - "id": 2427, - "name": "boolToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "3602:11:10", + "id": 770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1935:9:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bool,bytes memory) pure" + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 769, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1939:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } } }, - "id": 2431, + "id": 772, "isConstant": false, "isLValue": false, "isPure": false, @@ -8974,66 +7050,107 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3602:36:10", + "src": "1935:30:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" } }, - "id": 2432, - "nodeType": "ExpressionStatement", - "src": "3602:36:10" + "nodeType": "VariableDeclarationStatement", + "src": "1913:52:4" }, { - "expression": { + "assignments": [ + 775 + ], + "declarations": [ + { + "constant": false, + "id": 775, + "name": "offset", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 958, + "src": "1975:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 774, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1975:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 779, + "initialValue": { "argumentTypes": null, - "id": 2435, + "commonType": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "id": 778, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "id": 2433, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3649:6:10", + "hexValue": "3332", + "id": 776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1992:2:4", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { "argumentTypes": null, - "hexValue": "31", - "id": 2434, + "hexValue": "3332", + "id": 777, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3659:1:10", + "src": "1997:2:4", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" }, - "value": "1" + "value": "32" }, - "src": "3649:11:10", + "src": "1992:7:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" } }, - "id": 2436, - "nodeType": "ExpressionStatement", - "src": "3649:11:10" + "nodeType": "VariableDeclarationStatement", + "src": "1975:24:4" }, { "expression": { @@ -9041,12 +7158,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2438, + "id": 781, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3682:6:10", + "referencedDeclaration": 775, + "src": "2086:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9054,12 +7171,12 @@ }, { "argumentTypes": null, - "id": 2439, - "name": "email", + "id": 782, + "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2269, - "src": "3690:5:10", + "referencedDeclaration": 743, + "src": "2094:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9067,12 +7184,12 @@ }, { "argumentTypes": null, - "id": 2440, + "id": 783, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3697:6:10", + "referencedDeclaration": 768, + "src": "2100:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -9094,18 +7211,18 @@ "typeString": "bytes memory" } ], - "id": 2437, - "name": "boolToBytes", + "id": 780, + "name": "copyBool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "3670:11:10", + "referencedDeclaration": 1049, + "src": "2077:8:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (uint256,bool,bytes memory) pure" } }, - "id": 2441, + "id": 784, "isConstant": false, "isLValue": false, "isPure": false, @@ -9113,797 +7230,459 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3670:34:10", + "src": "2077:30:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2442, + "id": 785, "nodeType": "ExpressionStatement", - "src": "3670:34:10" + "src": "2077:30:4" }, { "expression": { "argumentTypes": null, - "id": 2445, + "id": 788, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2443, + "id": 786, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3715:6:10", + "referencedDeclaration": 775, + "src": "2117:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3725:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3715:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2446, - "nodeType": "ExpressionStatement", - "src": "3715:11:10" - }, - { - "body": { - "id": 2558, - "nodeType": "Block", - "src": "3763:819:10", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 2460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3780:15:10", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2457, - "name": "validTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "3781:11:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[] memory" - } - }, - "id": 2459, - "indexExpression": { - "argumentTypes": null, - "id": 2458, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3793:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3781:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2462, - "nodeType": "IfStatement", - "src": "3777:28:10", - "trueBody": { - "id": 2461, - "nodeType": "Continue", - "src": "3797:8:10" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2463, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "3819:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2465, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3836:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2464, - "name": "getToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "3827:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Token_$2174_memory_ptr_$", - "typeString": "function (uint256) view returns (struct TokenBalances.Token memory)" - } - }, - "id": 2466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3827:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "src": "3819:19:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2468, - "nodeType": "ExpressionStatement", - "src": "3819:19:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2470, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3868:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2471, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "3876:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2472, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "symbol", - "nodeType": "MemberAccess", - "referencedDeclaration": 2163, - "src": "3876:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - { - "argumentTypes": null, - "id": 2473, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3890:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2469, - "name": "bytes16ToBytesR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 956, - "src": "3852:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes16_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bytes16,bytes memory)" - } - }, - "id": 2474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3852:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2475, - "nodeType": "ExpressionStatement", - "src": "3852:45:10" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2127:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, + "value": "1" + }, + "src": "2117:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 789, + "nodeType": "ExpressionStatement", + "src": "2117:11:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ { - "expression": { - "argumentTypes": null, - "id": 2478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2476, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3912:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3136", - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3922:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "3912:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2479, - "nodeType": "ExpressionStatement", - "src": "3912:12:10" + "argumentTypes": null, + "id": 791, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2147:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2481, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3953:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2482, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "3961:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2165, - "src": "3961:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2484, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "3973:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2480, - "name": "addressToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "3938:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,bytes memory) pure" - } - }, - "id": 2485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3938:42:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2486, - "nodeType": "ExpressionStatement", - "src": "3938:42:10" + "argumentTypes": null, + "id": 792, + "name": "website", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "2155:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, { - "expression": { - "argumentTypes": null, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2487, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "3995:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3230", - "id": 2488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4005:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "src": "3995:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "argumentTypes": null, + "id": 793, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "2164:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 2490, - "nodeType": "ExpressionStatement", - "src": "3995:12:10" + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 790, + "name": "copyBool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1049, + "src": "2138:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bool,bytes memory) pure" + } + }, + "id": 794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2138:33:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 795, + "nodeType": "ExpressionStatement", + "src": "2138:33:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 796, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2181:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2191:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2181:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 799, + "nodeType": "ExpressionStatement", + "src": "2181:11:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 801, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2211:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 802, + "name": "email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 747, + "src": "2219:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2492, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4033:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2493, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "4041:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2494, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4041:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 2495, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4057:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2491, - "name": "uintToBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "4021:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" - } - }, - "id": 2496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4021:43:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } + "argumentTypes": null, + "id": 803, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "2226:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 2497, - "nodeType": "ExpressionStatement", - "src": "4021:43:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2498, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4079:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 2499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4089:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4079:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "id": 2501, - "nodeType": "ExpressionStatement", - "src": "4079:11:10" + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 800, + "name": "copyBool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1049, + "src": "2202:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bool,bytes memory) pure" + } + }, + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2202:31:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 805, + "nodeType": "ExpressionStatement", + "src": "2202:31:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 806, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2243:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2253:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2503, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4116:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2505, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "4140:5:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", - "typeString": "struct TokenBalances.Token memory" - } - }, - "id": 2506, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "addr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2165, - "src": "4140:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2507, - "name": "tOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2280, - "src": "4152:6:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2504, - "name": "getTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2261, - "src": "4124:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 2508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4124:35:10", + "value": "1" + }, + "src": "2243:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 809, + "nodeType": "ExpressionStatement", + "src": "2243:11:4" + }, + { + "assignments": [ + 811 + ], + "declarations": [ + { + "constant": false, + "id": 811, + "name": "numValidTokens", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 958, + "src": "2264:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 810, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2264:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 813, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2289:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2264:26:4" + }, + { + "body": { + "id": 940, + "nodeType": "Block", + "src": "2337:1055:4", + "statements": [ + { + "assignments": [ + 825 + ], + "declarations": [ + { + "constant": false, + "id": 825, + "name": "token", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 940, + "src": "2351:18:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token" + }, + "typeName": { + "contractScope": null, + "id": 824, + "name": "Token", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 628, + "src": "2351:5:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_Token_$628_storage_ptr", + "typeString": "struct TokenBalances.Token" } }, + "value": null, + "visibility": "internal" + } + ], + "id": 829, + "initialValue": { + "argumentTypes": null, + "arguments": [ { "argumentTypes": null, - "id": 2509, - "name": "result", + "id": 827, + "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4161:6:10", + "referencedDeclaration": 815, + "src": "2381:1:4", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], @@ -9912,28 +7691,20 @@ { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" } ], - "id": 2502, - "name": "uintToBytes", + "id": 826, + "name": "getToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "4104:11:10", + "referencedDeclaration": 683, + "src": "2372:8:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,bytes memory) pure" + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Token_$628_memory_ptr_$", + "typeString": "function (uint256) view returns (struct TokenBalances.Token memory)" } }, - "id": 2510, + "id": 828, "isConstant": false, "isLValue": false, "isPure": false, @@ -9941,102 +7712,367 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4104:64:10", + "src": "2372:11:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" } }, - "id": 2511, - "nodeType": "ExpressionStatement", - "src": "4104:64:10" + "nodeType": "VariableDeclarationStatement", + "src": "2351:32:4" }, { - "expression": { + "condition": { "argumentTypes": null, - "id": 2514, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 836, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "id": 2512, - "name": "offset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4183:6:10", + "expression": { + "argumentTypes": null, + "id": 830, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "2401:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 831, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isValid", + "nodeType": "MemberAccess", + "referencedDeclaration": 627, + "src": "2401:13:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { "argumentTypes": null, - "hexValue": "3332", - "id": 2513, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 833, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "2429:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 834, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 619, + "src": "2429:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 832, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 978, + "src": "2418:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 835, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "4193:2:10", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "2418:22:4", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, - "src": "4183:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2515, - "nodeType": "ExpressionStatement", - "src": "4183:12:10" - }, - { - "condition": { - "argumentTypes": null, - "id": 2516, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2265, - "src": "4212:4:10", + "src": "2401:39:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 2529, + "id": 939, "nodeType": "IfStatement", - "src": "4209:109:10", + "src": "2397:985:4", "trueBody": { - "id": 2528, + "id": 938, "nodeType": "Block", - "src": "4217:101:10", + "src": "2442:940:4", "statements": [ + { + "assignments": [ + 838 + ], + "declarations": [ + { + "constant": false, + "id": 838, + "name": "balance", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 938, + "src": "2460:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 837, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2460:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 844, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 840, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "2494:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 841, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 619, + "src": "2494:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 842, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 741, + "src": "2506:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 839, + "name": "getTokenBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1192, + "src": "2478:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) returns (uint256)" + } + }, + "id": 843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2478:35:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2460:53:4" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 845, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "2535:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2546:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2535:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 849, + "nodeType": "IfStatement", + "src": "2531:26:4", + "trueBody": { + "id": 848, + "nodeType": "Continue", + "src": "2549:8:4" + } + }, + { + "expression": { + "argumentTypes": null, + "id": 851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2575:16:4", + "subExpression": { + "argumentTypes": null, + "id": 850, + "name": "numValidTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "2575:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 852, + "nodeType": "ExpressionStatement", + "src": "2575:16:4" + }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2518, + "id": 854, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4251:6:10", + "referencedDeclaration": 775, + "src": "2621:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10046,26 +8082,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2519, + "id": 855, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "4259:5:10", + "referencedDeclaration": 825, + "src": "2629:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2520, + "id": 856, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "name", + "memberName": "symbol", "nodeType": "MemberAccess", - "referencedDeclaration": 2161, - "src": "4259:10:10", + "referencedDeclaration": 617, + "src": "2629:12:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" @@ -10073,12 +8109,12 @@ }, { "argumentTypes": null, - "id": 2521, + "id": 857, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4271:6:10", + "referencedDeclaration": 768, + "src": "2643:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -10100,18 +8136,18 @@ "typeString": "bytes memory" } ], - "id": 2517, - "name": "bytes16ToBytesR", + "id": 853, + "name": "copyBytes16", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 956, - "src": "4235:15:10", + "referencedDeclaration": 1074, + "src": "2609:11:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes16_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bytes16,bytes memory)" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes16_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bytes16,bytes memory) pure" } }, - "id": 2522, + "id": 858, "isConstant": false, "isLValue": false, "isPure": false, @@ -10119,50 +8155,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4235:43:10", + "src": "2609:41:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2523, + "id": 859, "nodeType": "ExpressionStatement", - "src": "4235:43:10" + "src": "2609:41:4" }, { "expression": { "argumentTypes": null, - "id": 2526, + "id": 862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2524, + "id": 860, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4297:6:10", + "referencedDeclaration": 775, + "src": "2668:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "-=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, "hexValue": "3136", - "id": 2525, + "id": 861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4307:2:10", + "src": "2678:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", @@ -10170,54 +8207,28 @@ }, "value": "16" }, - "src": "4297:12:10", + "src": "2668:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2527, + "id": 863, "nodeType": "ExpressionStatement", - "src": "4297:12:10" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 2530, - "name": "website", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2267, - "src": "4334:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2543, - "nodeType": "IfStatement", - "src": "4331:116:10", - "trueBody": { - "id": 2542, - "nodeType": "Block", - "src": "4343:104:10", - "statements": [ + "src": "2668:12:4" + }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2532, + "id": 865, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4377:6:10", + "referencedDeclaration": 775, + "src": "2710:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10227,39 +8238,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2533, + "id": 866, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "4385:5:10", + "referencedDeclaration": 825, + "src": "2718:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2534, + "id": 867, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "website", + "memberName": "addr", "nodeType": "MemberAccess", - "referencedDeclaration": 2169, - "src": "4385:13:10", + "referencedDeclaration": 619, + "src": "2718:10:4", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 2535, + "id": 868, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4400:6:10", + "referencedDeclaration": 768, + "src": "2730:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -10273,26 +8284,26 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], - "id": 2531, - "name": "bytes32ToBytesR", + "id": 864, + "name": "copyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 967, - "src": "4361:15:10", + "referencedDeclaration": 1172, + "src": "2698:11:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bytes32,bytes memory)" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,address,bytes memory) pure" } }, - "id": 2536, + "id": 869, "isConstant": false, "isLValue": false, "isPure": false, @@ -10300,105 +8311,80 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4361:46:10", + "src": "2698:39:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2537, + "id": 870, "nodeType": "ExpressionStatement", - "src": "4361:46:10" + "src": "2698:39:4" }, { "expression": { "argumentTypes": null, - "id": 2540, + "id": 873, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2538, + "id": 871, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4426:6:10", + "referencedDeclaration": 775, + "src": "2755:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "-=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, - "hexValue": "3332", - "id": 2539, + "hexValue": "3230", + "id": 872, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4436:2:10", + "src": "2765:2:4", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" }, - "value": "32" + "value": "20" }, - "src": "4426:12:10", + "src": "2755:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2541, + "id": 874, "nodeType": "ExpressionStatement", - "src": "4426:12:10" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "id": 2544, - "name": "email", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2269, - "src": "4463:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2557, - "nodeType": "IfStatement", - "src": "4460:112:10", - "trueBody": { - "id": 2556, - "nodeType": "Block", - "src": "4470:102:10", - "statements": [ + "src": "2755:12:4" + }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2546, + "id": 876, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4504:6:10", + "referencedDeclaration": 775, + "src": "2795:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10408,39 +8394,179 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2547, + "id": 877, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2332, - "src": "4512:5:10", + "referencedDeclaration": 825, + "src": "2803:5:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Token_$2174_memory_ptr", + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", "typeString": "struct TokenBalances.Token memory" } }, - "id": 2548, + "id": 878, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "email", + "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 2171, - "src": "4512:11:10", + "referencedDeclaration": 621, + "src": "2803:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 879, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "2819:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 875, + "name": "copyUint8", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "2785:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint8,bytes memory) pure" + } + }, + "id": 880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2785:41:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 881, + "nodeType": "ExpressionStatement", + "src": "2785:41:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 882, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2844:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2854:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2844:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 885, + "nodeType": "ExpressionStatement", + "src": "2844:11:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 887, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2882:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 888, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "2890:7:4", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, { "argumentTypes": null, - "id": 2549, + "id": 889, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4525:6:10", + "referencedDeclaration": 768, + "src": "2899:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -10454,26 +8580,26 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], - "id": 2545, - "name": "bytes32ToBytesR", + "id": 886, + "name": "copyUint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 967, - "src": "4488:15:10", + "referencedDeclaration": 1124, + "src": "2873:8:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bytes32,bytes memory)" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,bytes memory) pure" } }, - "id": 2550, + "id": 890, "isConstant": false, "isLValue": false, "isPure": false, @@ -10481,66 +8607,613 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4488:44:10", + "src": "2873:33:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2551, + "id": 891, "nodeType": "ExpressionStatement", - "src": "4488:44:10" + "src": "2873:33:4" }, { "expression": { "argumentTypes": null, - "id": 2554, + "id": 894, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2552, + "id": 892, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "4551:6:10", + "referencedDeclaration": 775, + "src": "2924:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "-=", + "operator": "+=", "rightHandSide": { "argumentTypes": null, "hexValue": "3332", - "id": 2553, + "id": 893, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4561:2:10", + "src": "2934:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, - "value": "32" - }, - "src": "4551:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2555, - "nodeType": "ExpressionStatement", - "src": "4551:12:10" + "value": "32" + }, + "src": "2924:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 895, + "nodeType": "ExpressionStatement", + "src": "2924:12:4" + }, + { + "condition": { + "argumentTypes": null, + "id": 896, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 743, + "src": "2958:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 909, + "nodeType": "IfStatement", + "src": "2954:124:4", + "trueBody": { + "id": 908, + "nodeType": "Block", + "src": "2964:114:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 898, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2998:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 899, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "3006:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 900, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 615, + "src": "3006:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + { + "argumentTypes": null, + "id": 901, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3018:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 897, + "name": "copyBytes16", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "2986:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes16_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bytes16,bytes memory) pure" + } + }, + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2986:39:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 903, + "nodeType": "ExpressionStatement", + "src": "2986:39:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 904, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3047:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3136", + "id": 905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3057:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "3047:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 907, + "nodeType": "ExpressionStatement", + "src": "3047:12:4" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 910, + "name": "website", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "3099:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 923, + "nodeType": "IfStatement", + "src": "3095:130:4", + "trueBody": { + "id": 922, + "nodeType": "Block", + "src": "3108:117:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 912, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3142:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 913, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "3150:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 914, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "website", + "nodeType": "MemberAccess", + "referencedDeclaration": 623, + "src": "3150:13:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 915, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3165:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 911, + "name": "copyBytes32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "3130:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bytes32,bytes memory) pure" + } + }, + "id": 916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3130:42:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 917, + "nodeType": "ExpressionStatement", + "src": "3130:42:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 918, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3194:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3204:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "3194:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 921, + "nodeType": "ExpressionStatement", + "src": "3194:12:4" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 924, + "name": "email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 747, + "src": "3246:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 937, + "nodeType": "IfStatement", + "src": "3242:126:4", + "trueBody": { + "id": 936, + "nodeType": "Block", + "src": "3253:115:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 926, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3287:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 927, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "3295:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$628_memory_ptr", + "typeString": "struct TokenBalances.Token memory" + } + }, + "id": 928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "email", + "nodeType": "MemberAccess", + "referencedDeclaration": 625, + "src": "3295:11:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 929, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3308:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 925, + "name": "copyBytes32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "3275:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bytes32,bytes memory) pure" + } + }, + "id": 930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3275:40:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 931, + "nodeType": "ExpressionStatement", + "src": "3275:40:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 932, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3337:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3347:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "3337:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 935, + "nodeType": "ExpressionStatement", + "src": "3337:12:4" + } + ] + } } ] } @@ -10553,19 +9226,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2453, + "id": 820, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2451, + "id": 818, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3747:1:10", + "referencedDeclaration": 815, + "src": "2320:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10575,152 +9248,383 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 2452, + "id": 819, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2277, - "src": "3752:5:10", + "referencedDeclaration": 753, + "src": "2325:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3747:10:10", + "src": "2320:10:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2559, + "id": 941, "initializationExpression": { + "assignments": [ + 815 + ], + "declarations": [ + { + "constant": false, + "id": 815, + "name": "i", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 941, + "src": "2305:9:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2305:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 817, + "initialValue": { + "argumentTypes": null, + "hexValue": "31", + "id": 816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2317:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2305:13:4" + }, + "loopExpression": { "expression": { "argumentTypes": null, - "id": 2449, + "id": 822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2332:3:4", + "subExpression": { "argumentTypes": null, - "id": 2447, + "id": 821, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3740:1:10", + "referencedDeclaration": 815, + "src": "2332:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 823, + "nodeType": "ExpressionStatement", + "src": "2332:3:4" + }, + "nodeType": "ForStatement", + "src": "2300:1092:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "hexValue": "31", - "id": 2448, + "hexValue": "30", + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3744:1:10", + "src": "3410:1:4", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 944, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3413:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3422:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" }, - "value": "1" + "src": "3413:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "src": "3740:5:10", + { + "argumentTypes": null, + "id": 947, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3426:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 942, + "name": "copyUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1124, + "src": "3401:8:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,bytes memory) pure" } }, - "id": 2450, - "nodeType": "ExpressionStatement", - "src": "3740:5:10" + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3401:32:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3759:3:10", - "subExpression": { + "id": 949, + "nodeType": "ExpressionStatement", + "src": "3401:32:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 2454, - "name": "i", + "hexValue": "3332", + "id": 951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3452:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + { + "argumentTypes": null, + "id": 952, + "name": "numValidTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3759:1:10", + "referencedDeclaration": 811, + "src": "3456:14:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, + { + "argumentTypes": null, + "id": 953, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "3472:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 950, + "name": "copyUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1124, + "src": "3443:8:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,bytes memory) pure" } }, - "id": 2456, - "nodeType": "ExpressionStatement", - "src": "3759:3:10" + "id": 954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3443:36:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } }, - "nodeType": "ForStatement", - "src": "3736:846:10" + "id": 955, + "nodeType": "ExpressionStatement", + "src": "3443:36:4" }, { "expression": { "argumentTypes": null, - "id": 2560, + "id": 956, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2387, - "src": "4598:6:10", + "referencedDeclaration": 768, + "src": "3496:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 2275, - "id": 2561, + "functionReturnParameters": 751, + "id": 957, "nodeType": "Return", - "src": "4591:13:10" + "src": "3489:13:4" } ] }, "documentation": null, - "id": 2563, + "functionSelector": "5b65bdc5", + "id": 959, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getAllBalance", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 2272, + "id": 748, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2263, + "id": 741, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2295:14:10", + "overrides": null, + "scope": 959, + "src": "1614:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10728,10 +9632,11 @@ "typeString": "address" }, "typeName": { - "id": 2262, + "id": 740, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2295:7:10", + "src": "1614:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10742,11 +9647,12 @@ }, { "constant": false, - "id": 2265, + "id": 743, "name": "name", "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2311:9:10", + "overrides": null, + "scope": 959, + "src": "1630:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10754,10 +9660,10 @@ "typeString": "bool" }, "typeName": { - "id": 2264, + "id": 742, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2311:4:10", + "src": "1630:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10768,11 +9674,12 @@ }, { "constant": false, - "id": 2267, + "id": 745, "name": "website", "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2322:12:10", + "overrides": null, + "scope": 959, + "src": "1641:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10780,10 +9687,10 @@ "typeString": "bool" }, "typeName": { - "id": 2266, + "id": 744, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2322:4:10", + "src": "1641:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10794,11 +9701,12 @@ }, { "constant": false, - "id": 2269, + "id": 747, "name": "email", "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2336:10:10", + "overrides": null, + "scope": 959, + "src": "1655:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10806,10 +9714,10 @@ "typeString": "bool" }, "typeName": { - "id": 2268, + "id": 746, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2336:4:10", + "src": "1655:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10817,59 +9725,33 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 2271, - "name": "_count", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2348:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2270, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2348:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" } ], - "src": "2294:66:10" + "src": "1613:53:4" }, - "payable": false, "returnParameters": { - "id": 2275, + "id": 751, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2274, + "id": 750, "name": "", "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "2382:5:10", + "overrides": null, + "scope": 959, + "src": "1699:12:4", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { - "id": 2273, + "id": 749, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2382:5:10", + "src": "1699:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -10879,28 +9761,28 @@ "visibility": "internal" } ], - "src": "2381:7:10" + "src": "1698:14:4" }, - "scope": 2564, - "src": "2272:2339:10", - "stateMutability": "view", - "superFunction": null, + "scope": 960, + "src": "1591:1918:4", + "stateMutability": "nonpayable", + "virtual": false, "visibility": "public" } ], - "scope": 2565, - "src": "118:4495:10" + "scope": 961, + "src": "104:3407:4" } ], - "src": "0:4613:10" + "src": "0:3512:4" }, "compiler": { "name": "solc", - "version": "0.4.26+commit.4563c3fc.Emscripten.clang" + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.11", - "updatedAt": "2019-07-11T20:33:40.236Z", + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T07:54:59.215Z", "devdoc": { "methods": {} }, diff --git a/build/contracts/TypesToBytes.json b/build/contracts/TypesToBytes.json index 442a38f..001a69c 100644 --- a/build/contracts/TypesToBytes.json +++ b/build/contracts/TypesToBytes.json @@ -3,148 +3,194 @@ "abi": [ { "inputs": [], - "payable": false, "stateMutability": "nonpayable", "type": "constructor" } ], - "metadata": "", + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"pouladzade@gmail.com\",\"details\":\"The TypesToBytes contract converts the standard solidity types to the byte array\",\"methods\":{},\"title\":\"TypesToBytes\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol\":\"TypesToBytes\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol\":{\"keccak256\":\"0x444e6756306579f68ead7d74eae30a3d189f70346ddc6d57800fbea8069de37a\",\"urls\":[\"bzz-raw://b993cb5d7fc39c678a1d4333a6a6f6a373ba04527a0220ad32c8bf89dcf02968\",\"dweb:/ipfs/QmamvYKJ6FpwgvyR8uFNcqnQoHNpDMfrbRpamuV9WKEWrc\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.4.16;\n\n/**\n * @title TypesToBytes\n * @dev The TypesToBytes contract converts the standard solidity types to the byte array\n * @author pouladzade@gmail.com\n */\n\ncontract TypesToBytes {\n \n function TypesToBytes() internal {\n \n }\n function addressToBytes(uint _offst, address _input, bytes memory _output) internal pure {\n\n assembly {\n mstore(add(_output, _offst), _input)\n }\n }\n function bytes16ToBytesR(uint _offst, bytes16 _input, bytes memory _output) internal {\n\n assembly {\n let index := 0\n let size := 16\n loop:\n mstore8(add(add(_output, _offst),add(16, index)), byte(index, _input))\n index := add(index ,1)\n jumpi(loop , lt(index,size))\n }\n }\n function bytes32ToBytesR(uint _offst, bytes32 _input, bytes memory _output) internal {\n\n assembly {\n let index := 0\n let size := 32\n loop:\n mstore8(add(add(_output, _offst),index), byte(index, _input))\n index := add(index ,1)\n jumpi(loop , lt(index,size))\n }\n }\n function bytes32ToBytes(uint _offst, bytes32 _input, bytes memory _output) internal {\n\n assembly {\n mstore(add(_output, _offst), _input)\n mstore(add(add(_output, _offst),32), add(_input,32))\n }\n }\n \n function boolToBytes(uint _offst, bool _input, bytes memory _output) internal pure {\n uint8 x = _input == false ? 0 : 1;\n assembly {\n mstore(add(_output, _offst), x)\n }\n }\n \n function stringToBytes(uint _offst, bytes memory _input, bytes memory _output) internal {\n uint256 stack_size = _input.length / 32;\n if(_input.length % 32 > 0) stack_size++;\n \n assembly {\n let index := 0\n stack_size := add(stack_size,1)//adding because of 32 first bytes memory as the length\n loop:\n \n mstore(add(_output, _offst), mload(add(_input,mul(index,32))))\n _offst := sub(_offst , 32)\n index := add(index ,1)\n jumpi(loop , lt(index,stack_size))\n }\n }\n\n function intToBytes(uint _offst, int _input, bytes memory _output) internal pure {\n\n assembly {\n mstore(add(_output, _offst), _input)\n }\n } \n \n function uintToBytes(uint _offst, uint _input, bytes memory _output) internal pure {\n\n assembly {\n mstore(add(_output, _offst), _input)\n }\n } \n\n}\n", + "source": "pragma solidity ^0.6.4;\n\n\n/**\n * @title TypesToBytes\n * @dev The TypesToBytes contract converts the standard solidity types to the byte array\n * @author pouladzade@gmail.com\n */\n\ncontract TypesToBytes {\n constructor() internal {}\n\n function addressToBytes(\n uint256 _offst,\n address _input,\n bytes memory _output\n ) internal pure {\n assembly {\n mstore(add(_output, _offst), _input)\n }\n }\n\n function bytes32ToBytes(\n uint256 _offst,\n bytes32 _input,\n bytes memory _output\n ) internal pure {\n assembly {\n mstore(add(_output, _offst), _input)\n mstore(add(add(_output, _offst), 32), add(_input, 32))\n }\n }\n\n function boolToBytes(uint256 _offst, bool _input, bytes memory _output)\n internal\n pure\n {\n uint8 x = _input == false ? 0 : 1;\n assembly {\n mstore(add(_output, _offst), x)\n }\n }\n\n function stringToBytes(\n uint256 _offst,\n bytes memory _input,\n bytes memory _output\n ) internal pure {\n uint256 stack_size = _input.length / 32;\n if (_input.length % 32 > 0) stack_size++;\n\n assembly {\n stack_size := add(stack_size, 1) //adding because of 32 first bytes memory as the length\n for {\n let index := 0\n } lt(index, stack_size) {\n index := add(index, 1)\n } {\n mstore(add(_output, _offst), mload(add(_input, mul(index, 32))))\n _offst := sub(_offst, 32)\n }\n }\n }\n\n function intToBytes(uint256 _offst, int256 _input, bytes memory _output)\n internal\n pure\n {\n assembly {\n mstore(add(_output, _offst), _input)\n }\n }\n\n function uintToBytes(uint256 _offst, uint256 _input, bytes memory _output)\n internal\n pure\n {\n assembly {\n mstore(add(_output, _offst), _input)\n }\n }\n}\n", "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol", "ast": { "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol", "exportedSymbols": { "TypesToBytes": [ - 1049 + 1032 ] }, - "id": 1050, + "id": 1033, "nodeType": "SourceUnit", "nodes": [ { - "id": 930, + "id": 934, "literals": [ "solidity", "^", - "0.4", - ".16" + "0.6", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:23:4" }, { + "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@title TypesToBytes\n@dev The TypesToBytes contract converts the standard solidity types to the byte array\n@author pouladzade@gmail.com", + "documentation": { + "id": 935, + "nodeType": "StructuredDocumentation", + "src": "26:151:4", + "text": "@title TypesToBytes\n@dev The TypesToBytes contract converts the standard solidity types to the byte array\n@author pouladzade@gmail.com" + }, "fullyImplemented": true, - "id": 1049, + "id": 1032, "linearizedBaseContracts": [ - 1049 + 1032 ], "name": "TypesToBytes", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 933, + "id": 938, "nodeType": "Block", - "src": "242:16:4", + "src": "230:2:4", "statements": [] }, "documentation": null, - "id": 934, + "id": 939, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], - "name": "TypesToBytes", + "name": "", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 931, + "id": 936, "nodeType": "ParameterList", "parameters": [], - "src": "230:2:4" + "src": "218:2:4" }, - "payable": false, "returnParameters": { - "id": 932, + "id": 937, "nodeType": "ParameterList", "parameters": [], - "src": "242:0:4" + "src": "230:0:4" }, - "scope": 1049, - "src": "209:49:4", + "scope": 1032, + "src": "207:25:4", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 944, + "id": 949, "nodeType": "Block", - "src": "352:86:4", + "src": "360:85:4", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "379:60:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "404:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "413:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "400:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "400:20:4" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "422:6:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "393:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "393:36:4" + }, + "nodeType": "YulExpressionStatement", + "src": "393:36:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_input": { - "declaration": 938, - "isOffset": false, - "isSlot": false, - "src": "415:6:4", - "valueSize": 1 - } + "declaration": 943, + "isOffset": false, + "isSlot": false, + "src": "422:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 940, - "isOffset": false, - "isSlot": false, - "src": "397:7:4", - "valueSize": 1 - } + "declaration": 941, + "isOffset": false, + "isSlot": false, + "src": "413:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 936, - "isOffset": false, - "isSlot": false, - "src": "406:6:4", - "valueSize": 1 - } + "declaration": 945, + "isOffset": false, + "isSlot": false, + "src": "404:7:4", + "valueSize": 1 } ], - "id": 943, + "id": 948, "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(_output, _offst), _input)\n}", - "src": "363:75:4" + "src": "370:69:4" } ] }, "documentation": null, - "id": 945, + "id": 950, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "addressToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 941, + "id": 946, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 936, + "id": 941, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 945, - "src": "287:11:4", + "overrides": null, + "scope": 950, + "src": "271:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -152,10 +198,10 @@ "typeString": "uint256" }, "typeName": { - "id": 935, - "name": "uint", + "id": 940, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "287:4:4", + "src": "271:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -166,11 +212,12 @@ }, { "constant": false, - "id": 938, + "id": 943, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 945, - "src": "300:14:4", + "overrides": null, + "scope": 950, + "src": "295:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -178,10 +225,11 @@ "typeString": "address" }, "typeName": { - "id": 937, + "id": 942, "name": "address", "nodeType": "ElementaryTypeName", - "src": "300:7:4", + "src": "295:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -192,11 +240,12 @@ }, { "constant": false, - "id": 940, + "id": 945, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 945, - "src": "316:20:4", + "overrides": null, + "scope": 950, + "src": "319:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -204,10 +253,10 @@ "typeString": "bytes" }, "typeName": { - "id": 939, + "id": 944, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "316:5:4", + "src": "319:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -217,408 +266,222 @@ "visibility": "internal" } ], - "src": "286:51:4" + "src": "261:84:4" }, - "payable": false, "returnParameters": { - "id": 942, + "id": 947, "nodeType": "ParameterList", "parameters": [], - "src": "352:0:4" + "src": "360:0:4" }, - "scope": 1049, - "src": "263:175:4", + "scope": 1032, + "src": "238:207:4", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 955, + "id": 960, "nodeType": "Block", - "src": "528:280:4", + "src": "573:152:4", "statements": [ { - "externalReferences": [ - { - "_output": { - "declaration": 951, - "isOffset": false, - "isSlot": false, - "src": "654:7:4", - "valueSize": 1 - } - }, - { - "_offst": { - "declaration": 947, - "isOffset": false, - "isSlot": false, - "src": "663:6:4", - "valueSize": 1 - } - }, - { - "_input": { - "declaration": 949, - "isOffset": false, - "isSlot": false, - "src": "700:6:4", - "valueSize": 1 - } - } - ], - "id": 954, - "nodeType": "InlineAssembly", - "operations": "{\n let index := 0\n let size := 16\n loop:\n mstore8(add(add(_output, _offst), add(16, index)), byte(index, _input))\n index := add(index, 1)\n jumpi(loop, lt(index, size))\n}", - "src": "539:269:4" - } - ] - }, - "documentation": null, - "id": 956, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "bytes16ToBytesR", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 952, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 947, - "name": "_offst", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "468:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 946, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "468:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 949, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "481:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 948, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "481:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 951, - "name": "_output", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "497:20:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 950, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "497:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "467:51:4" - }, - "payable": false, - "returnParameters": { - "id": 953, - "nodeType": "ParameterList", - "parameters": [], - "src": "528:0:4" - }, - "scope": 1049, - "src": "443:365:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 966, - "nodeType": "Block", - "src": "898:271:4", - "statements": [ - { - "externalReferences": [ - { - "_output": { - "declaration": 962, - "isOffset": false, - "isSlot": false, - "src": "1024:7:4", - "valueSize": 1 - } - }, - { - "_offst": { - "declaration": 958, - "isOffset": false, - "isSlot": false, - "src": "1033:6:4", - "valueSize": 1 - } - }, - { - "_input": { - "declaration": 960, - "isOffset": false, - "isSlot": false, - "src": "1061:6:4", - "valueSize": 1 + "AST": { + "nodeType": "YulBlock", + "src": "592:127:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "617:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "626:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "613:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "613:20:4" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "635:6:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "606:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "606:36:4" + }, + "nodeType": "YulExpressionStatement", + "src": "606:36:4" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "670:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "679:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "666:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "666:20:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "688:2:4", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "662:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "662:29:4" + }, + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "697:6:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "705:2:4", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "693:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "693:15:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "655:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "655:54:4" + }, + "nodeType": "YulExpressionStatement", + "src": "655:54:4" } - } - ], - "id": 965, - "nodeType": "InlineAssembly", - "operations": "{\n let index := 0\n let size := 32\n loop:\n mstore8(add(add(_output, _offst), index), byte(index, _input))\n index := add(index, 1)\n jumpi(loop, lt(index, size))\n}", - "src": "909:260:4" - } - ] - }, - "documentation": null, - "id": 967, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "bytes32ToBytesR", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 963, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 958, - "name": "_offst", - "nodeType": "VariableDeclaration", - "scope": 967, - "src": "838:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 957, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "838:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 960, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 967, - "src": "851:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 959, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "851:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 962, - "name": "_output", - "nodeType": "VariableDeclaration", - "scope": 967, - "src": "867:20:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 961, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "867:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } + ] }, - "value": null, - "visibility": "internal" - } - ], - "src": "837:51:4" - }, - "payable": false, - "returnParameters": { - "id": 964, - "nodeType": "ParameterList", - "parameters": [], - "src": "898:0:4" - }, - "scope": 1049, - "src": "813:356:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 977, - "nodeType": "Block", - "src": "1259:151:4", - "statements": [ - { + "evmVersion": "istanbul", "externalReferences": [ { - "_input": { - "declaration": 971, - "isOffset": false, - "isSlot": false, - "src": "1322:6:4", - "valueSize": 1 - } + "declaration": 954, + "isOffset": false, + "isSlot": false, + "src": "635:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 973, - "isOffset": false, - "isSlot": false, - "src": "1304:7:4", - "valueSize": 1 - } + "declaration": 954, + "isOffset": false, + "isSlot": false, + "src": "697:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 969, - "isOffset": false, - "isSlot": false, - "src": "1313:6:4", - "valueSize": 1 - } + "declaration": 952, + "isOffset": false, + "isSlot": false, + "src": "626:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 973, - "isOffset": false, - "isSlot": false, - "src": "1357:7:4", - "valueSize": 1 - } + "declaration": 952, + "isOffset": false, + "isSlot": false, + "src": "679:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 969, - "isOffset": false, - "isSlot": false, - "src": "1366:6:4", - "valueSize": 1 - } + "declaration": 956, + "isOffset": false, + "isSlot": false, + "src": "617:7:4", + "valueSize": 1 }, { - "_input": { - "declaration": 971, - "isOffset": false, - "isSlot": false, - "src": "1383:6:4", - "valueSize": 1 - } + "declaration": 956, + "isOffset": false, + "isSlot": false, + "src": "670:7:4", + "valueSize": 1 } ], - "id": 976, + "id": 959, "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(_output, _offst), _input)\n mstore(add(add(_output, _offst), 32), add(_input, 32))\n}", - "src": "1270:140:4" + "src": "583:136:4" } ] }, "documentation": null, - "id": 978, + "id": 961, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "bytes32ToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 974, + "id": 957, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 969, + "id": 952, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 978, - "src": "1198:11:4", + "overrides": null, + "scope": 961, + "src": "484:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -626,10 +489,10 @@ "typeString": "uint256" }, "typeName": { - "id": 968, - "name": "uint", + "id": 951, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1198:4:4", + "src": "484:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -640,11 +503,12 @@ }, { "constant": false, - "id": 971, + "id": 954, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 978, - "src": "1211:14:4", + "overrides": null, + "scope": 961, + "src": "508:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -652,10 +516,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 970, + "id": 953, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1211:7:4", + "src": "508:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -666,11 +530,12 @@ }, { "constant": false, - "id": 973, + "id": 956, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 978, - "src": "1227:20:4", + "overrides": null, + "scope": 961, + "src": "532:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -678,10 +543,10 @@ "typeString": "bytes" }, "typeName": { - "id": 972, + "id": 955, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1227:5:4", + "src": "532:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -691,39 +556,39 @@ "visibility": "internal" } ], - "src": "1197:51:4" + "src": "474:84:4" }, - "payable": false, "returnParameters": { - "id": 975, + "id": 958, "nodeType": "ParameterList", "parameters": [], - "src": "1259:0:4" + "src": "573:0:4" }, - "scope": 1049, - "src": "1174:236:4", - "stateMutability": "nonpayable", - "superFunction": null, + "scope": 1032, + "src": "451:274:4", + "stateMutability": "pure", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 997, + "id": 980, "nodeType": "Block", - "src": "1503:123:4", + "src": "837:123:4", "statements": [ { "assignments": [ - 988 + 971 ], "declarations": [ { "constant": false, - "id": 988, + "id": 971, "name": "x", "nodeType": "VariableDeclaration", - "scope": 998, - "src": "1513:7:4", + "overrides": null, + "scope": 980, + "src": "847:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -731,10 +596,10 @@ "typeString": "uint8" }, "typeName": { - "id": 987, + "id": 970, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1513:5:4", + "src": "847:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -744,7 +609,7 @@ "visibility": "internal" } ], - "id": 995, + "id": 978, "initialValue": { "argumentTypes": null, "condition": { @@ -753,19 +618,19 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 991, + "id": 974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 989, + "id": 972, "name": "_input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 982, - "src": "1523:6:4", + "referencedDeclaration": 965, + "src": "857:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -776,14 +641,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 990, + "id": 973, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1533:5:4", + "src": "867:5:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -791,7 +656,7 @@ }, "value": "false" }, - "src": "1523:15:4", + "src": "857:15:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -800,14 +665,14 @@ "falseExpression": { "argumentTypes": null, "hexValue": "31", - "id": 993, + "id": 976, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1545:1:4", + "src": "879:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -815,24 +680,24 @@ }, "value": "1" }, - "id": 994, + "id": 977, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "1523:23:4", + "src": "857:23:4", "trueExpression": { "argumentTypes": null, "hexValue": "30", - "id": 992, + "id": 975, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1541:1:4", + "src": "875:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -846,64 +711,106 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1513:33:4" + "src": "847:33:4" }, { + "AST": { + "nodeType": "YulBlock", + "src": "899:55:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "924:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "933:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "920:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "920:20:4" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "942:1:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "913:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "913:31:4" + }, + "nodeType": "YulExpressionStatement", + "src": "913:31:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "x": { - "declaration": 988, - "isOffset": false, - "isSlot": false, - "src": "1608:1:4", - "valueSize": 1 - } + "declaration": 963, + "isOffset": false, + "isSlot": false, + "src": "933:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 984, - "isOffset": false, - "isSlot": false, - "src": "1590:7:4", - "valueSize": 1 - } + "declaration": 967, + "isOffset": false, + "isSlot": false, + "src": "924:7:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 980, - "isOffset": false, - "isSlot": false, - "src": "1599:6:4", - "valueSize": 1 - } + "declaration": 971, + "isOffset": false, + "isSlot": false, + "src": "942:1:4", + "valueSize": 1 } ], - "id": 996, + "id": 979, "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(_output, _offst), x)\n}", - "src": "1556:70:4" + "src": "890:64:4" } ] }, "documentation": null, - "id": 998, + "id": 981, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "boolToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 985, + "id": 968, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 980, + "id": 963, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 998, - "src": "1441:11:4", + "overrides": null, + "scope": 981, + "src": "752:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -911,10 +818,10 @@ "typeString": "uint256" }, "typeName": { - "id": 979, - "name": "uint", + "id": 962, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1441:4:4", + "src": "752:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -925,11 +832,12 @@ }, { "constant": false, - "id": 982, + "id": 965, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 998, - "src": "1454:11:4", + "overrides": null, + "scope": 981, + "src": "768:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -937,10 +845,10 @@ "typeString": "bool" }, "typeName": { - "id": 981, + "id": 964, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1454:4:4", + "src": "768:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -951,11 +859,12 @@ }, { "constant": false, - "id": 984, + "id": 967, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 998, - "src": "1467:20:4", + "overrides": null, + "scope": 981, + "src": "781:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -963,10 +872,10 @@ "typeString": "bytes" }, "typeName": { - "id": 983, + "id": 966, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1467:5:4", + "src": "781:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -976,39 +885,39 @@ "visibility": "internal" } ], - "src": "1440:48:4" + "src": "751:51:4" }, - "payable": false, "returnParameters": { - "id": 986, + "id": 969, "nodeType": "ParameterList", "parameters": [], - "src": "1503:0:4" + "src": "837:0:4" }, - "scope": 1049, - "src": "1420:206:4", + "scope": 1032, + "src": "731:229:4", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1025, + "id": 1008, "nodeType": "Block", - "src": "1724:492:4", + "src": "1092:516:4", "statements": [ { "assignments": [ - 1008 + 991 ], "declarations": [ { "constant": false, - "id": 1008, + "id": 991, "name": "stack_size", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "1734:18:4", + "overrides": null, + "scope": 1008, + "src": "1102:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1016,10 +925,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1007, + "id": 990, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1734:7:4", + "src": "1102:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1029,14 +938,14 @@ "visibility": "internal" } ], - "id": 1013, + "id": 996, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1012, + "id": 995, "isConstant": false, "isLValue": false, "isPure": false, @@ -1045,18 +954,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1009, + "id": 992, "name": "_input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "1755:6:4", + "referencedDeclaration": 985, + "src": "1123:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 1010, + "id": 993, "isConstant": false, "isLValue": false, "isPure": false, @@ -1064,7 +973,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1755:13:4", + "src": "1123:13:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1075,14 +984,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 1011, + "id": 994, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1771:2:4", + "src": "1139:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -1090,14 +999,14 @@ }, "value": "32" }, - "src": "1755:18:4", + "src": "1123:18:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1734:39:4" + "src": "1102:39:4" }, { "condition": { @@ -1106,7 +1015,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1019, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": false, @@ -1117,7 +1026,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1017, + "id": 1000, "isConstant": false, "isLValue": false, "isPure": false, @@ -1126,18 +1035,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1014, + "id": 997, "name": "_input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "1786:6:4", + "referencedDeclaration": 985, + "src": "1155:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 1015, + "id": 998, "isConstant": false, "isLValue": false, "isPure": false, @@ -1145,7 +1054,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1786:13:4", + "src": "1155:13:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1156,14 +1065,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 1016, + "id": 999, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1802:2:4", + "src": "1171:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -1171,7 +1080,7 @@ }, "value": "32" }, - "src": "1786:18:4", + "src": "1155:18:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1182,14 +1091,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1018, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1807:1:4", + "src": "1176:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1197,20 +1106,20 @@ }, "value": "0" }, - "src": "1786:22:4", + "src": "1155:22:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1023, + "id": 1006, "nodeType": "IfStatement", - "src": "1783:39:4", + "src": "1151:40:4", "trueBody": { "expression": { "argumentTypes": null, - "id": 1021, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": false, @@ -1218,15 +1127,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1810:12:4", + "src": "1179:12:4", "subExpression": { "argumentTypes": null, - "id": 1020, + "id": 1003, "name": "stack_size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "1810:10:4", + "referencedDeclaration": 991, + "src": "1179:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1237,410 +1146,353 @@ "typeString": "uint256" } }, - "id": 1022, + "id": 1005, "nodeType": "ExpressionStatement", - "src": "1810:12:4" + "src": "1179:12:4" } }, { + "AST": { + "nodeType": "YulBlock", + "src": "1211:391:4", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1225:32:4", + "value": { + "arguments": [ + { + "name": "stack_size", + "nodeType": "YulIdentifier", + "src": "1243:10:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1255:1:4", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1239:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1239:18:4" + }, + "variableNames": [ + { + "name": "stack_size", + "nodeType": "YulIdentifier", + "src": "1225:10:4" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1454:138:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "1483:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1492:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1479:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1479:20:4" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1511:6:4" + }, + { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1523:5:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1530:2:4", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "1519:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1519:14:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1507:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1507:27:4" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1501:5:4" + }, + "nodeType": "YulFunctionCall", + "src": "1501:34:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1472:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "1472:64:4" + }, + "nodeType": "YulExpressionStatement", + "src": "1472:64:4" + }, + { + "nodeType": "YulAssignment", + "src": "1553:25:4", + "value": { + "arguments": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1567:6:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1575:2:4", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1563:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1563:15:4" + }, + "variableNames": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1553:6:4" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1380:5:4" + }, + { + "name": "stack_size", + "nodeType": "YulIdentifier", + "src": "1387:10:4" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1377:2:4" + }, + "nodeType": "YulFunctionCall", + "src": "1377:21:4" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1399:54:4", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1417:22:4", + "value": { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1430:5:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1437:1:4", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1426:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1426:13:4" + }, + "variableNames": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1417:5:4" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1330:46:4", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1348:14:4", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1361:1:4", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "index", + "nodeType": "YulTypedName", + "src": "1352:5:4", + "type": "" + } + ] + } + ] + }, + "src": "1326:266:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "stack_size": { - "declaration": 1008, - "isOffset": false, - "isSlot": false, - "src": "1891:10:4", - "valueSize": 1 - } - }, - { - "_offst": { - "declaration": 1000, - "isOffset": false, - "isSlot": false, - "src": "2092:6:4", - "valueSize": 1 - } - }, - { - "stack_size": { - "declaration": 1008, - "isOffset": false, - "isSlot": false, - "src": "1909:10:4", - "valueSize": 1 - } - }, - { - "stack_size": { - "declaration": 1008, - "isOffset": false, - "isSlot": false, - "src": "2188:10:4", - "valueSize": 1 - } - }, - { - "_offst": { - "declaration": 1000, - "isOffset": false, - "isSlot": false, - "src": "2106:6:4", - "valueSize": 1 - } - }, - { - "_output": { - "declaration": 1004, - "isOffset": false, - "isSlot": false, - "src": "2028:7:4", - "valueSize": 1 - } - }, - { - "_offst": { - "declaration": 1000, - "isOffset": false, - "isSlot": false, - "src": "2037:6:4", - "valueSize": 1 - } - }, - { - "_input": { - "declaration": 1002, - "isOffset": false, - "isSlot": false, - "src": "2056:6:4", - "valueSize": 1 - } - } - ], - "id": 1024, - "nodeType": "InlineAssembly", - "operations": "{\n let index := 0\n stack_size := add(stack_size, 1)\n loop:\n mstore(add(_output, _offst), mload(add(_input, mul(index, 32))))\n _offst := sub(_offst, 32)\n index := add(index, 1)\n jumpi(loop, lt(index, stack_size))\n}", - "src": "1841:375:4" - } - ] - }, - "documentation": null, - "id": 1026, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "stringToBytes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1005, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1000, - "name": "_offst", - "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "1659:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 999, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1659:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1002, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "1672:19:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1001, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1672:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1004, - "name": "_output", - "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "1693:20:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1003, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1693:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1658:56:4" - }, - "payable": false, - "returnParameters": { - "id": 1006, - "nodeType": "ParameterList", - "parameters": [], - "src": "1724:0:4" - }, - "scope": 1049, - "src": "1636:580:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1036, - "nodeType": "Block", - "src": "2304:86:4", - "statements": [ - { - "externalReferences": [ - { - "_input": { - "declaration": 1030, - "isOffset": false, - "isSlot": false, - "src": "2367:6:4", - "valueSize": 1 - } - }, - { - "_output": { - "declaration": 1032, - "isOffset": false, - "isSlot": false, - "src": "2349:7:4", - "valueSize": 1 - } - }, - { - "_offst": { - "declaration": 1028, - "isOffset": false, - "isSlot": false, - "src": "2358:6:4", - "valueSize": 1 - } - } - ], - "id": 1035, - "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(_output, _offst), _input)\n}", - "src": "2315:75:4" - } - ] - }, - "documentation": null, - "id": 1037, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "intToBytes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1033, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1028, - "name": "_offst", - "nodeType": "VariableDeclaration", - "scope": 1037, - "src": "2242:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1027, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2242:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1030, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 1037, - "src": "2255:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1029, - "name": "int", - "nodeType": "ElementaryTypeName", - "src": "2255:3:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1032, - "name": "_output", - "nodeType": "VariableDeclaration", - "scope": 1037, - "src": "2267:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1031, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2267:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2241:48:4" - }, - "payable": false, - "returnParameters": { - "id": 1034, - "nodeType": "ParameterList", - "parameters": [], - "src": "2304:0:4" - }, - "scope": 1049, - "src": "2222:168:4", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1047, - "nodeType": "Block", - "src": "2484:86:4", - "statements": [ - { - "externalReferences": [ - { - "_input": { - "declaration": 1041, - "isOffset": false, - "isSlot": false, - "src": "2547:6:4", - "valueSize": 1 - } + "declaration": 985, + "isOffset": false, + "isSlot": false, + "src": "1511:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 1043, - "isOffset": false, - "isSlot": false, - "src": "2529:7:4", - "valueSize": 1 - } + "declaration": 983, + "isOffset": false, + "isSlot": false, + "src": "1492:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 1039, - "isOffset": false, - "isSlot": false, - "src": "2538:6:4", - "valueSize": 1 - } + "declaration": 983, + "isOffset": false, + "isSlot": false, + "src": "1553:6:4", + "valueSize": 1 + }, + { + "declaration": 983, + "isOffset": false, + "isSlot": false, + "src": "1567:6:4", + "valueSize": 1 + }, + { + "declaration": 987, + "isOffset": false, + "isSlot": false, + "src": "1483:7:4", + "valueSize": 1 + }, + { + "declaration": 991, + "isOffset": false, + "isSlot": false, + "src": "1225:10:4", + "valueSize": 1 + }, + { + "declaration": 991, + "isOffset": false, + "isSlot": false, + "src": "1243:10:4", + "valueSize": 1 + }, + { + "declaration": 991, + "isOffset": false, + "isSlot": false, + "src": "1387:10:4", + "valueSize": 1 } ], - "id": 1046, + "id": 1007, "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(_output, _offst), _input)\n}", - "src": "2495:75:4" + "src": "1202:400:4" } ] }, "documentation": null, - "id": 1048, + "id": 1009, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "uintToBytes", + "name": "stringToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1044, + "id": 988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1039, + "id": 983, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "2422:11:4", + "overrides": null, + "scope": 1009, + "src": "998:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1648,10 +1500,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1038, - "name": "uint", + "id": 982, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2422:4:4", + "src": "998:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1662,25 +1514,26 @@ }, { "constant": false, - "id": 1041, + "id": 985, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "2435:11:4", + "overrides": null, + "scope": 1009, + "src": "1022:19:4", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 1040, - "name": "uint", + "id": 984, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2435:4:4", + "src": "1022:5:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "value": null, @@ -1688,11 +1541,12 @@ }, { "constant": false, - "id": 1043, + "id": 987, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "2448:20:4", + "overrides": null, + "scope": 1009, + "src": "1051:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1700,10 +1554,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1042, + "id": 986, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2448:5:4", + "src": "1051:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1713,158 +1567,124 @@ "visibility": "internal" } ], - "src": "2421:48:4" + "src": "988:89:4" }, - "payable": false, "returnParameters": { - "id": 1045, + "id": 989, "nodeType": "ParameterList", "parameters": [], - "src": "2484:0:4" + "src": "1092:0:4" }, - "scope": 1049, - "src": "2401:169:4", + "scope": 1032, + "src": "966:642:4", "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 1050, - "src": "179:2397:4" - } - ], - "src": "0:2577:4" - }, - "legacyAST": { - "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol", - "exportedSymbols": { - "TypesToBytes": [ - 1049 - ] - }, - "id": 1050, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 930, - "literals": [ - "solidity", - "^", - "0.4", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:4" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title TypesToBytes\n@dev The TypesToBytes contract converts the standard solidity types to the byte array\n@author pouladzade@gmail.com", - "fullyImplemented": true, - "id": 1049, - "linearizedBaseContracts": [ - 1049 - ], - "name": "TypesToBytes", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 933, - "nodeType": "Block", - "src": "242:16:4", - "statements": [] - }, - "documentation": null, - "id": 934, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "TypesToBytes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 931, - "nodeType": "ParameterList", - "parameters": [], - "src": "230:2:4" - }, - "payable": false, - "returnParameters": { - "id": 932, - "nodeType": "ParameterList", - "parameters": [], - "src": "242:0:4" - }, - "scope": 1049, - "src": "209:49:4", - "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 944, + "id": 1019, "nodeType": "Block", - "src": "352:86:4", + "src": "1721:85:4", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "1740:60:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "1765:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1774:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1761:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1761:20:4" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1783:6:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1754:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "1754:36:4" + }, + "nodeType": "YulExpressionStatement", + "src": "1754:36:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_input": { - "declaration": 938, - "isOffset": false, - "isSlot": false, - "src": "415:6:4", - "valueSize": 1 - } + "declaration": 1013, + "isOffset": false, + "isSlot": false, + "src": "1783:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 940, - "isOffset": false, - "isSlot": false, - "src": "397:7:4", - "valueSize": 1 - } + "declaration": 1011, + "isOffset": false, + "isSlot": false, + "src": "1774:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 936, - "isOffset": false, - "isSlot": false, - "src": "406:6:4", - "valueSize": 1 - } + "declaration": 1015, + "isOffset": false, + "isSlot": false, + "src": "1765:7:4", + "valueSize": 1 } ], - "id": 943, + "id": 1018, "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(_output, _offst), _input)\n}", - "src": "363:75:4" + "src": "1731:69:4" } ] }, "documentation": null, - "id": 945, + "id": 1020, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "addressToBytes", + "name": "intToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 941, + "id": 1016, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 936, + "id": 1011, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 945, - "src": "287:11:4", + "overrides": null, + "scope": 1020, + "src": "1634:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1872,10 +1692,10 @@ "typeString": "uint256" }, "typeName": { - "id": 935, - "name": "uint", + "id": 1010, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "287:4:4", + "src": "1634:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1886,25 +1706,26 @@ }, { "constant": false, - "id": 938, + "id": 1013, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 945, - "src": "300:14:4", + "overrides": null, + "scope": 1020, + "src": "1650:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_int256", + "typeString": "int256" }, "typeName": { - "id": 937, - "name": "address", + "id": 1012, + "name": "int256", "nodeType": "ElementaryTypeName", - "src": "300:7:4", + "src": "1650:6:4", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_int256", + "typeString": "int256" } }, "value": null, @@ -1912,11 +1733,12 @@ }, { "constant": false, - "id": 940, + "id": 1015, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 945, - "src": "316:20:4", + "overrides": null, + "scope": 1020, + "src": "1665:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1924,10 +1746,10 @@ "typeString": "bytes" }, "typeName": { - "id": 939, + "id": 1014, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "316:5:4", + "src": "1665:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1937,83 +1759,124 @@ "visibility": "internal" } ], - "src": "286:51:4" + "src": "1633:53:4" }, - "payable": false, "returnParameters": { - "id": 942, + "id": 1017, "nodeType": "ParameterList", "parameters": [], - "src": "352:0:4" + "src": "1721:0:4" }, - "scope": 1049, - "src": "263:175:4", + "scope": 1032, + "src": "1614:192:4", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 955, + "id": 1030, "nodeType": "Block", - "src": "528:280:4", + "src": "1921:85:4", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "1940:60:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "1965:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1974:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1961:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1961:20:4" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1983:6:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1954:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "1954:36:4" + }, + "nodeType": "YulExpressionStatement", + "src": "1954:36:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 951, - "isOffset": false, - "isSlot": false, - "src": "654:7:4", - "valueSize": 1 - } + "declaration": 1024, + "isOffset": false, + "isSlot": false, + "src": "1983:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 947, - "isOffset": false, - "isSlot": false, - "src": "663:6:4", - "valueSize": 1 - } + "declaration": 1022, + "isOffset": false, + "isSlot": false, + "src": "1974:6:4", + "valueSize": 1 }, { - "_input": { - "declaration": 949, - "isOffset": false, - "isSlot": false, - "src": "700:6:4", - "valueSize": 1 - } + "declaration": 1026, + "isOffset": false, + "isSlot": false, + "src": "1965:7:4", + "valueSize": 1 } ], - "id": 954, + "id": 1029, "nodeType": "InlineAssembly", - "operations": "{\n let index := 0\n let size := 16\n loop:\n mstore8(add(add(_output, _offst), add(16, index)), byte(index, _input))\n index := add(index, 1)\n jumpi(loop, lt(index, size))\n}", - "src": "539:269:4" + "src": "1931:69:4" } ] }, "documentation": null, - "id": 956, + "id": 1031, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], - "name": "bytes16ToBytesR", + "name": "uintToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 952, + "id": 1027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 947, + "id": 1022, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "468:11:4", + "overrides": null, + "scope": 1031, + "src": "1833:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2021,10 +1884,10 @@ "typeString": "uint256" }, "typeName": { - "id": 946, - "name": "uint", + "id": 1021, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "468:4:4", + "src": "1833:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2035,25 +1898,26 @@ }, { "constant": false, - "id": 949, + "id": 1024, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "481:14:4", + "overrides": null, + "scope": 1031, + "src": "1849:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 948, - "name": "bytes16", + "id": 1023, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "481:7:4", + "src": "1849:7:4", "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, @@ -2061,11 +1925,12 @@ }, { "constant": false, - "id": 951, + "id": 1026, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "497:20:4", + "overrides": null, + "scope": 1031, + "src": "1865:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2073,10 +1938,10 @@ "typeString": "bytes" }, "typeName": { - "id": 950, + "id": 1025, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "497:5:4", + "src": "1865:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2086,83 +1951,204 @@ "visibility": "internal" } ], - "src": "467:51:4" + "src": "1832:54:4" + }, + "returnParameters": { + "id": 1028, + "nodeType": "ParameterList", + "parameters": [], + "src": "1921:0:4" + }, + "scope": 1032, + "src": "1812:194:4", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1033, + "src": "179:1829:4" + } + ], + "src": "0:2009:4" + }, + "legacyAST": { + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/Seriality/TypesToBytes.sol", + "exportedSymbols": { + "TypesToBytes": [ + 1032 + ] + }, + "id": 1033, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 934, + "literals": [ + "solidity", + "^", + "0.6", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "0:23:4" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 935, + "nodeType": "StructuredDocumentation", + "src": "26:151:4", + "text": "@title TypesToBytes\n@dev The TypesToBytes contract converts the standard solidity types to the byte array\n@author pouladzade@gmail.com" + }, + "fullyImplemented": true, + "id": 1032, + "linearizedBaseContracts": [ + 1032 + ], + "name": "TypesToBytes", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 938, + "nodeType": "Block", + "src": "230:2:4", + "statements": [] + }, + "documentation": null, + "id": 939, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 936, + "nodeType": "ParameterList", + "parameters": [], + "src": "218:2:4" }, - "payable": false, "returnParameters": { - "id": 953, + "id": 937, "nodeType": "ParameterList", "parameters": [], - "src": "528:0:4" + "src": "230:0:4" }, - "scope": 1049, - "src": "443:365:4", + "scope": 1032, + "src": "207:25:4", "stateMutability": "nonpayable", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 966, + "id": 949, "nodeType": "Block", - "src": "898:271:4", + "src": "360:85:4", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "379:60:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "404:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "413:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "400:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "400:20:4" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "422:6:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "393:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "393:36:4" + }, + "nodeType": "YulExpressionStatement", + "src": "393:36:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_output": { - "declaration": 962, - "isOffset": false, - "isSlot": false, - "src": "1024:7:4", - "valueSize": 1 - } + "declaration": 943, + "isOffset": false, + "isSlot": false, + "src": "422:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 958, - "isOffset": false, - "isSlot": false, - "src": "1033:6:4", - "valueSize": 1 - } + "declaration": 941, + "isOffset": false, + "isSlot": false, + "src": "413:6:4", + "valueSize": 1 }, { - "_input": { - "declaration": 960, - "isOffset": false, - "isSlot": false, - "src": "1061:6:4", - "valueSize": 1 - } + "declaration": 945, + "isOffset": false, + "isSlot": false, + "src": "404:7:4", + "valueSize": 1 } ], - "id": 965, + "id": 948, "nodeType": "InlineAssembly", - "operations": "{\n let index := 0\n let size := 32\n loop:\n mstore8(add(add(_output, _offst), index), byte(index, _input))\n index := add(index, 1)\n jumpi(loop, lt(index, size))\n}", - "src": "909:260:4" + "src": "370:69:4" } ] }, "documentation": null, - "id": 967, + "id": 950, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], - "name": "bytes32ToBytesR", + "name": "addressToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 963, + "id": 946, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 958, + "id": 941, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 967, - "src": "838:11:4", + "overrides": null, + "scope": 950, + "src": "271:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2170,10 +2156,10 @@ "typeString": "uint256" }, "typeName": { - "id": 957, - "name": "uint", + "id": 940, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "838:4:4", + "src": "271:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2184,25 +2170,27 @@ }, { "constant": false, - "id": 960, + "id": 943, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 967, - "src": "851:14:4", + "overrides": null, + "scope": 950, + "src": "295:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 959, - "name": "bytes32", + "id": 942, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "851:7:4", + "src": "295:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -2210,11 +2198,12 @@ }, { "constant": false, - "id": 962, + "id": 945, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 967, - "src": "867:20:4", + "overrides": null, + "scope": 950, + "src": "319:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2222,10 +2211,10 @@ "typeString": "bytes" }, "typeName": { - "id": 961, + "id": 944, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "867:5:4", + "src": "319:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2235,110 +2224,222 @@ "visibility": "internal" } ], - "src": "837:51:4" + "src": "261:84:4" }, - "payable": false, "returnParameters": { - "id": 964, + "id": 947, "nodeType": "ParameterList", "parameters": [], - "src": "898:0:4" + "src": "360:0:4" }, - "scope": 1049, - "src": "813:356:4", - "stateMutability": "nonpayable", - "superFunction": null, + "scope": 1032, + "src": "238:207:4", + "stateMutability": "pure", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 977, + "id": 960, "nodeType": "Block", - "src": "1259:151:4", + "src": "573:152:4", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "592:127:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "617:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "626:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "613:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "613:20:4" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "635:6:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "606:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "606:36:4" + }, + "nodeType": "YulExpressionStatement", + "src": "606:36:4" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "670:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "679:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "666:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "666:20:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "688:2:4", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "662:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "662:29:4" + }, + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "697:6:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "705:2:4", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "693:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "693:15:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "655:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "655:54:4" + }, + "nodeType": "YulExpressionStatement", + "src": "655:54:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_input": { - "declaration": 971, - "isOffset": false, - "isSlot": false, - "src": "1322:6:4", - "valueSize": 1 - } + "declaration": 954, + "isOffset": false, + "isSlot": false, + "src": "635:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 973, - "isOffset": false, - "isSlot": false, - "src": "1304:7:4", - "valueSize": 1 - } + "declaration": 954, + "isOffset": false, + "isSlot": false, + "src": "697:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 969, - "isOffset": false, - "isSlot": false, - "src": "1313:6:4", - "valueSize": 1 - } + "declaration": 952, + "isOffset": false, + "isSlot": false, + "src": "626:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 973, - "isOffset": false, - "isSlot": false, - "src": "1357:7:4", - "valueSize": 1 - } + "declaration": 952, + "isOffset": false, + "isSlot": false, + "src": "679:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 969, - "isOffset": false, - "isSlot": false, - "src": "1366:6:4", - "valueSize": 1 - } + "declaration": 956, + "isOffset": false, + "isSlot": false, + "src": "617:7:4", + "valueSize": 1 }, { - "_input": { - "declaration": 971, - "isOffset": false, - "isSlot": false, - "src": "1383:6:4", - "valueSize": 1 - } + "declaration": 956, + "isOffset": false, + "isSlot": false, + "src": "670:7:4", + "valueSize": 1 } ], - "id": 976, + "id": 959, "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(_output, _offst), _input)\n mstore(add(add(_output, _offst), 32), add(_input, 32))\n}", - "src": "1270:140:4" + "src": "583:136:4" } ] }, "documentation": null, - "id": 978, + "id": 961, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "bytes32ToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 974, + "id": 957, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 969, + "id": 952, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 978, - "src": "1198:11:4", + "overrides": null, + "scope": 961, + "src": "484:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2346,10 +2447,10 @@ "typeString": "uint256" }, "typeName": { - "id": 968, - "name": "uint", + "id": 951, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1198:4:4", + "src": "484:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2360,11 +2461,12 @@ }, { "constant": false, - "id": 971, + "id": 954, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 978, - "src": "1211:14:4", + "overrides": null, + "scope": 961, + "src": "508:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2372,10 +2474,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 970, + "id": 953, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1211:7:4", + "src": "508:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2386,11 +2488,12 @@ }, { "constant": false, - "id": 973, + "id": 956, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 978, - "src": "1227:20:4", + "overrides": null, + "scope": 961, + "src": "532:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2398,10 +2501,10 @@ "typeString": "bytes" }, "typeName": { - "id": 972, + "id": 955, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1227:5:4", + "src": "532:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2411,39 +2514,39 @@ "visibility": "internal" } ], - "src": "1197:51:4" + "src": "474:84:4" }, - "payable": false, "returnParameters": { - "id": 975, + "id": 958, "nodeType": "ParameterList", "parameters": [], - "src": "1259:0:4" + "src": "573:0:4" }, - "scope": 1049, - "src": "1174:236:4", - "stateMutability": "nonpayable", - "superFunction": null, + "scope": 1032, + "src": "451:274:4", + "stateMutability": "pure", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 997, + "id": 980, "nodeType": "Block", - "src": "1503:123:4", + "src": "837:123:4", "statements": [ { "assignments": [ - 988 + 971 ], "declarations": [ { "constant": false, - "id": 988, + "id": 971, "name": "x", "nodeType": "VariableDeclaration", - "scope": 998, - "src": "1513:7:4", + "overrides": null, + "scope": 980, + "src": "847:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2451,10 +2554,10 @@ "typeString": "uint8" }, "typeName": { - "id": 987, + "id": 970, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1513:5:4", + "src": "847:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2464,7 +2567,7 @@ "visibility": "internal" } ], - "id": 995, + "id": 978, "initialValue": { "argumentTypes": null, "condition": { @@ -2473,19 +2576,19 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 991, + "id": 974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 989, + "id": 972, "name": "_input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 982, - "src": "1523:6:4", + "referencedDeclaration": 965, + "src": "857:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2496,14 +2599,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 990, + "id": 973, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1533:5:4", + "src": "867:5:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2511,7 +2614,7 @@ }, "value": "false" }, - "src": "1523:15:4", + "src": "857:15:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2520,14 +2623,14 @@ "falseExpression": { "argumentTypes": null, "hexValue": "31", - "id": 993, + "id": 976, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1545:1:4", + "src": "879:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -2535,24 +2638,24 @@ }, "value": "1" }, - "id": 994, + "id": 977, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "1523:23:4", + "src": "857:23:4", "trueExpression": { "argumentTypes": null, "hexValue": "30", - "id": 992, + "id": 975, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1541:1:4", + "src": "875:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2566,64 +2669,106 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1513:33:4" + "src": "847:33:4" }, { + "AST": { + "nodeType": "YulBlock", + "src": "899:55:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "924:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "933:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "920:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "920:20:4" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "942:1:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "913:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "913:31:4" + }, + "nodeType": "YulExpressionStatement", + "src": "913:31:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "x": { - "declaration": 988, - "isOffset": false, - "isSlot": false, - "src": "1608:1:4", - "valueSize": 1 - } + "declaration": 963, + "isOffset": false, + "isSlot": false, + "src": "933:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 984, - "isOffset": false, - "isSlot": false, - "src": "1590:7:4", - "valueSize": 1 - } + "declaration": 967, + "isOffset": false, + "isSlot": false, + "src": "924:7:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 980, - "isOffset": false, - "isSlot": false, - "src": "1599:6:4", - "valueSize": 1 - } + "declaration": 971, + "isOffset": false, + "isSlot": false, + "src": "942:1:4", + "valueSize": 1 } ], - "id": 996, + "id": 979, "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(_output, _offst), x)\n}", - "src": "1556:70:4" + "src": "890:64:4" } ] }, "documentation": null, - "id": 998, + "id": 981, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "boolToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 985, + "id": 968, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 980, + "id": 963, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 998, - "src": "1441:11:4", + "overrides": null, + "scope": 981, + "src": "752:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2631,10 +2776,10 @@ "typeString": "uint256" }, "typeName": { - "id": 979, - "name": "uint", + "id": 962, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1441:4:4", + "src": "752:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2645,11 +2790,12 @@ }, { "constant": false, - "id": 982, + "id": 965, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 998, - "src": "1454:11:4", + "overrides": null, + "scope": 981, + "src": "768:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2657,10 +2803,10 @@ "typeString": "bool" }, "typeName": { - "id": 981, + "id": 964, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1454:4:4", + "src": "768:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2671,11 +2817,12 @@ }, { "constant": false, - "id": 984, + "id": 967, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 998, - "src": "1467:20:4", + "overrides": null, + "scope": 981, + "src": "781:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2683,10 +2830,10 @@ "typeString": "bytes" }, "typeName": { - "id": 983, + "id": 966, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1467:5:4", + "src": "781:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2696,39 +2843,39 @@ "visibility": "internal" } ], - "src": "1440:48:4" + "src": "751:51:4" }, - "payable": false, "returnParameters": { - "id": 986, + "id": 969, "nodeType": "ParameterList", "parameters": [], - "src": "1503:0:4" + "src": "837:0:4" }, - "scope": 1049, - "src": "1420:206:4", + "scope": 1032, + "src": "731:229:4", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1025, + "id": 1008, "nodeType": "Block", - "src": "1724:492:4", + "src": "1092:516:4", "statements": [ { "assignments": [ - 1008 + 991 ], "declarations": [ { "constant": false, - "id": 1008, + "id": 991, "name": "stack_size", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "1734:18:4", + "overrides": null, + "scope": 1008, + "src": "1102:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2736,10 +2883,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1007, + "id": 990, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1734:7:4", + "src": "1102:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2749,14 +2896,14 @@ "visibility": "internal" } ], - "id": 1013, + "id": 996, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1012, + "id": 995, "isConstant": false, "isLValue": false, "isPure": false, @@ -2765,18 +2912,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1009, + "id": 992, "name": "_input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "1755:6:4", + "referencedDeclaration": 985, + "src": "1123:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 1010, + "id": 993, "isConstant": false, "isLValue": false, "isPure": false, @@ -2784,7 +2931,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1755:13:4", + "src": "1123:13:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2795,14 +2942,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 1011, + "id": 994, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1771:2:4", + "src": "1139:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -2810,14 +2957,14 @@ }, "value": "32" }, - "src": "1755:18:4", + "src": "1123:18:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1734:39:4" + "src": "1102:39:4" }, { "condition": { @@ -2826,7 +2973,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1019, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": false, @@ -2837,7 +2984,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1017, + "id": 1000, "isConstant": false, "isLValue": false, "isPure": false, @@ -2846,18 +2993,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1014, + "id": 997, "name": "_input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "1786:6:4", + "referencedDeclaration": 985, + "src": "1155:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 1015, + "id": 998, "isConstant": false, "isLValue": false, "isPure": false, @@ -2865,7 +3012,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1786:13:4", + "src": "1155:13:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2876,14 +3023,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 1016, + "id": 999, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1802:2:4", + "src": "1171:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", @@ -2891,7 +3038,7 @@ }, "value": "32" }, - "src": "1786:18:4", + "src": "1155:18:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2902,14 +3049,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1018, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1807:1:4", + "src": "1176:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2917,20 +3064,20 @@ }, "value": "0" }, - "src": "1786:22:4", + "src": "1155:22:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1023, + "id": 1006, "nodeType": "IfStatement", - "src": "1783:39:4", + "src": "1151:40:4", "trueBody": { "expression": { "argumentTypes": null, - "id": 1021, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": false, @@ -2938,15 +3085,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1810:12:4", + "src": "1179:12:4", "subExpression": { "argumentTypes": null, - "id": 1020, + "id": 1003, "name": "stack_size", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "1810:10:4", + "referencedDeclaration": 991, + "src": "1179:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2957,112 +3104,353 @@ "typeString": "uint256" } }, - "id": 1022, + "id": 1005, "nodeType": "ExpressionStatement", - "src": "1810:12:4" + "src": "1179:12:4" } }, { + "AST": { + "nodeType": "YulBlock", + "src": "1211:391:4", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1225:32:4", + "value": { + "arguments": [ + { + "name": "stack_size", + "nodeType": "YulIdentifier", + "src": "1243:10:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1255:1:4", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1239:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1239:18:4" + }, + "variableNames": [ + { + "name": "stack_size", + "nodeType": "YulIdentifier", + "src": "1225:10:4" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1454:138:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "1483:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1492:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1479:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1479:20:4" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1511:6:4" + }, + { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1523:5:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1530:2:4", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "1519:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1519:14:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1507:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1507:27:4" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1501:5:4" + }, + "nodeType": "YulFunctionCall", + "src": "1501:34:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1472:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "1472:64:4" + }, + "nodeType": "YulExpressionStatement", + "src": "1472:64:4" + }, + { + "nodeType": "YulAssignment", + "src": "1553:25:4", + "value": { + "arguments": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1567:6:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1575:2:4", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1563:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1563:15:4" + }, + "variableNames": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1553:6:4" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1380:5:4" + }, + { + "name": "stack_size", + "nodeType": "YulIdentifier", + "src": "1387:10:4" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1377:2:4" + }, + "nodeType": "YulFunctionCall", + "src": "1377:21:4" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1399:54:4", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1417:22:4", + "value": { + "arguments": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1430:5:4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1437:1:4", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1426:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1426:13:4" + }, + "variableNames": [ + { + "name": "index", + "nodeType": "YulIdentifier", + "src": "1417:5:4" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1330:46:4", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1348:14:4", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1361:1:4", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "index", + "nodeType": "YulTypedName", + "src": "1352:5:4", + "type": "" + } + ] + } + ] + }, + "src": "1326:266:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "stack_size": { - "declaration": 1008, - "isOffset": false, - "isSlot": false, - "src": "1891:10:4", - "valueSize": 1 - } + "declaration": 985, + "isOffset": false, + "isSlot": false, + "src": "1511:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 1000, - "isOffset": false, - "isSlot": false, - "src": "2092:6:4", - "valueSize": 1 - } + "declaration": 983, + "isOffset": false, + "isSlot": false, + "src": "1492:6:4", + "valueSize": 1 }, { - "stack_size": { - "declaration": 1008, - "isOffset": false, - "isSlot": false, - "src": "1909:10:4", - "valueSize": 1 - } + "declaration": 983, + "isOffset": false, + "isSlot": false, + "src": "1553:6:4", + "valueSize": 1 }, { - "stack_size": { - "declaration": 1008, - "isOffset": false, - "isSlot": false, - "src": "2188:10:4", - "valueSize": 1 - } + "declaration": 983, + "isOffset": false, + "isSlot": false, + "src": "1567:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 1000, - "isOffset": false, - "isSlot": false, - "src": "2106:6:4", - "valueSize": 1 - } + "declaration": 987, + "isOffset": false, + "isSlot": false, + "src": "1483:7:4", + "valueSize": 1 }, { - "_output": { - "declaration": 1004, - "isOffset": false, - "isSlot": false, - "src": "2028:7:4", - "valueSize": 1 - } + "declaration": 991, + "isOffset": false, + "isSlot": false, + "src": "1225:10:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 1000, - "isOffset": false, - "isSlot": false, - "src": "2037:6:4", - "valueSize": 1 - } + "declaration": 991, + "isOffset": false, + "isSlot": false, + "src": "1243:10:4", + "valueSize": 1 }, { - "_input": { - "declaration": 1002, - "isOffset": false, - "isSlot": false, - "src": "2056:6:4", - "valueSize": 1 - } + "declaration": 991, + "isOffset": false, + "isSlot": false, + "src": "1387:10:4", + "valueSize": 1 } ], - "id": 1024, + "id": 1007, "nodeType": "InlineAssembly", - "operations": "{\n let index := 0\n stack_size := add(stack_size, 1)\n loop:\n mstore(add(_output, _offst), mload(add(_input, mul(index, 32))))\n _offst := sub(_offst, 32)\n index := add(index, 1)\n jumpi(loop, lt(index, stack_size))\n}", - "src": "1841:375:4" + "src": "1202:400:4" } ] }, "documentation": null, - "id": 1026, + "id": 1009, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "stringToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1005, + "id": 988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1000, + "id": 983, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "1659:11:4", + "overrides": null, + "scope": 1009, + "src": "998:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3070,10 +3458,10 @@ "typeString": "uint256" }, "typeName": { - "id": 999, - "name": "uint", + "id": 982, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1659:4:4", + "src": "998:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3084,11 +3472,12 @@ }, { "constant": false, - "id": 1002, + "id": 985, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "1672:19:4", + "overrides": null, + "scope": 1009, + "src": "1022:19:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3096,10 +3485,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1001, + "id": 984, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1672:5:4", + "src": "1022:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3110,11 +3499,12 @@ }, { "constant": false, - "id": 1004, + "id": 987, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "1693:20:4", + "overrides": null, + "scope": 1009, + "src": "1051:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3122,10 +3512,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1003, + "id": 986, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1693:5:4", + "src": "1051:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3135,83 +3525,124 @@ "visibility": "internal" } ], - "src": "1658:56:4" + "src": "988:89:4" }, - "payable": false, "returnParameters": { - "id": 1006, + "id": 989, "nodeType": "ParameterList", "parameters": [], - "src": "1724:0:4" + "src": "1092:0:4" }, - "scope": 1049, - "src": "1636:580:4", - "stateMutability": "nonpayable", - "superFunction": null, + "scope": 1032, + "src": "966:642:4", + "stateMutability": "pure", + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1036, + "id": 1019, "nodeType": "Block", - "src": "2304:86:4", + "src": "1721:85:4", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "1740:60:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "1765:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1774:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1761:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1761:20:4" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1783:6:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1754:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "1754:36:4" + }, + "nodeType": "YulExpressionStatement", + "src": "1754:36:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_input": { - "declaration": 1030, - "isOffset": false, - "isSlot": false, - "src": "2367:6:4", - "valueSize": 1 - } + "declaration": 1013, + "isOffset": false, + "isSlot": false, + "src": "1783:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 1032, - "isOffset": false, - "isSlot": false, - "src": "2349:7:4", - "valueSize": 1 - } + "declaration": 1011, + "isOffset": false, + "isSlot": false, + "src": "1774:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 1028, - "isOffset": false, - "isSlot": false, - "src": "2358:6:4", - "valueSize": 1 - } + "declaration": 1015, + "isOffset": false, + "isSlot": false, + "src": "1765:7:4", + "valueSize": 1 } ], - "id": 1035, + "id": 1018, "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(_output, _offst), _input)\n}", - "src": "2315:75:4" + "src": "1731:69:4" } ] }, "documentation": null, - "id": 1037, + "id": 1020, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "intToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1033, + "id": 1016, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1028, + "id": 1011, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 1037, - "src": "2242:11:4", + "overrides": null, + "scope": 1020, + "src": "1634:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3219,10 +3650,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1027, - "name": "uint", + "id": 1010, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2242:4:4", + "src": "1634:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3233,11 +3664,12 @@ }, { "constant": false, - "id": 1030, + "id": 1013, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 1037, - "src": "2255:10:4", + "overrides": null, + "scope": 1020, + "src": "1650:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3245,10 +3677,10 @@ "typeString": "int256" }, "typeName": { - "id": 1029, - "name": "int", + "id": 1012, + "name": "int256", "nodeType": "ElementaryTypeName", - "src": "2255:3:4", + "src": "1650:6:4", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -3259,11 +3691,12 @@ }, { "constant": false, - "id": 1032, + "id": 1015, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 1037, - "src": "2267:21:4", + "overrides": null, + "scope": 1020, + "src": "1665:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3271,10 +3704,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1031, + "id": 1014, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2267:5:4", + "src": "1665:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3284,83 +3717,124 @@ "visibility": "internal" } ], - "src": "2241:48:4" + "src": "1633:53:4" }, - "payable": false, "returnParameters": { - "id": 1034, + "id": 1017, "nodeType": "ParameterList", "parameters": [], - "src": "2304:0:4" + "src": "1721:0:4" }, - "scope": 1049, - "src": "2222:168:4", + "scope": 1032, + "src": "1614:192:4", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" }, { "body": { - "id": 1047, + "id": 1030, "nodeType": "Block", - "src": "2484:86:4", + "src": "1921:85:4", "statements": [ { + "AST": { + "nodeType": "YulBlock", + "src": "1940:60:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_output", + "nodeType": "YulIdentifier", + "src": "1965:7:4" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1974:6:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1961:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "1961:20:4" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1983:6:4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1954:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "1954:36:4" + }, + "nodeType": "YulExpressionStatement", + "src": "1954:36:4" + } + ] + }, + "evmVersion": "istanbul", "externalReferences": [ { - "_input": { - "declaration": 1041, - "isOffset": false, - "isSlot": false, - "src": "2547:6:4", - "valueSize": 1 - } + "declaration": 1024, + "isOffset": false, + "isSlot": false, + "src": "1983:6:4", + "valueSize": 1 }, { - "_output": { - "declaration": 1043, - "isOffset": false, - "isSlot": false, - "src": "2529:7:4", - "valueSize": 1 - } + "declaration": 1022, + "isOffset": false, + "isSlot": false, + "src": "1974:6:4", + "valueSize": 1 }, { - "_offst": { - "declaration": 1039, - "isOffset": false, - "isSlot": false, - "src": "2538:6:4", - "valueSize": 1 - } + "declaration": 1026, + "isOffset": false, + "isSlot": false, + "src": "1965:7:4", + "valueSize": 1 } ], - "id": 1046, + "id": 1029, "nodeType": "InlineAssembly", - "operations": "{\n mstore(add(_output, _offst), _input)\n}", - "src": "2495:75:4" + "src": "1931:69:4" } ] }, "documentation": null, - "id": 1048, + "id": 1031, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "uintToBytes", "nodeType": "FunctionDefinition", + "overrides": null, "parameters": { - "id": 1044, + "id": 1027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1039, + "id": 1022, "name": "_offst", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "2422:11:4", + "overrides": null, + "scope": 1031, + "src": "1833:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3368,10 +3842,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1038, - "name": "uint", + "id": 1021, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2422:4:4", + "src": "1833:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3382,11 +3856,12 @@ }, { "constant": false, - "id": 1041, + "id": 1024, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "2435:11:4", + "overrides": null, + "scope": 1031, + "src": "1849:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3394,10 +3869,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1040, - "name": "uint", + "id": 1023, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2435:4:4", + "src": "1849:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3408,11 +3883,12 @@ }, { "constant": false, - "id": 1043, + "id": 1026, "name": "_output", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "2448:20:4", + "overrides": null, + "scope": 1031, + "src": "1865:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3420,10 +3896,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1042, + "id": 1025, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2448:5:4", + "src": "1865:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3433,37 +3909,37 @@ "visibility": "internal" } ], - "src": "2421:48:4" + "src": "1832:54:4" }, - "payable": false, "returnParameters": { - "id": 1045, + "id": 1028, "nodeType": "ParameterList", "parameters": [], - "src": "2484:0:4" + "src": "1921:0:4" }, - "scope": 1049, - "src": "2401:169:4", + "scope": 1032, + "src": "1812:194:4", "stateMutability": "pure", - "superFunction": null, + "virtual": false, "visibility": "internal" } ], - "scope": 1050, - "src": "179:2397:4" + "scope": 1033, + "src": "179:1829:4" } ], - "src": "0:2577:4" + "src": "0:2009:4" }, "compiler": { "name": "solc", - "version": "0.4.26+commit.4563c3fc.Emscripten.clang" + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.0.11", - "updatedAt": "2019-06-26T04:51:10.201Z", + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T00:50:13.954Z", "devdoc": { "author": "pouladzade@gmail.com", + "details": "The TypesToBytes contract converts the standard solidity types to the byte array", "methods": {}, "title": "TypesToBytes" }, diff --git a/build/contracts/Utils.json b/build/contracts/Utils.json new file mode 100644 index 0000000..db03757 --- /dev/null +++ b/build/contracts/Utils.json @@ -0,0 +1,8546 @@ +{ + "contractName": "Utils", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "isContract", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "src", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "len", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "memcpy", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_input", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyBool", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "bytes16", + "name": "_input", + "type": "bytes16" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyBytes16", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_input", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyBytes32", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_input", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyUint", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "_input", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyUint8", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offst", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_input", + "type": "address" + }, + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "name": "copyAddress", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getTokenBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "bal", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.6.4+commit.1dca32f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_input\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyAddress\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_input\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyBool\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"bytes16\",\"name\":\"_input\",\"type\":\"bytes16\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyBytes16\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_input\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyBytes32\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_input\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyUint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_input\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"copyUint8\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getTokenBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bal\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"isContract\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"src\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_offst\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"memcpy\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/Utils.sol\":\"Utils\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/Utils.sol\":{\"keccak256\":\"0x5088baf56ecdc81563a6e9393e7acc6939e02f0aae3dd5598cc1b72ea36e9d4a\",\"urls\":[\"bzz-raw://a1f93ddd057dde76562b4c0fbff43e55c4d6b7959d6557417ac6a9b974f53608\",\"dweb:/ipfs/QmXyt9UzvemhL3uw6s43RqXxLQHa1HAZcEw8UjeAKrrEsp\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50610a9b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063822de36d11610066578063822de36d14610411578063b644331d146104e2578063c489744b146105b1578063d68eb36c14610629578063f404b7061461070b57610093565b806316279055146100985780631892154b146100f457806320d2da85146101d9578063407c280d146102ab575b600080fd5b6100da600480360360208110156100ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107da565b604051808215151515815260200191505060405180910390f35b6101d76004803603606081101561010a57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561015157600080fd5b82018360208201111561016357600080fd5b8035906020019184600183028401116401000000008311171561018557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506107f3565b005b6102a9600480360360608110156101ef57600080fd5b8101908080359060200190929190803560ff1690602001909291908035906020019064010000000081111561022357600080fd5b82018360208201111561023557600080fd5b8035906020019184600183028401116401000000008311171561025757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610865565b005b61040f600480360360808110156102c157600080fd5b81019080803590602001906401000000008111156102de57600080fd5b8201836020820111156102f057600080fd5b8035906020019184600183028401116401000000008311171561031257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803590602001909291908035906020019064010000000081111561038957600080fd5b82018360208201111561039b57600080fd5b803590602001918460018302840111640100000000831117156103bd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061086f565b005b6104e06004803603606081101561042757600080fd5b81019080803590602001909291908035151590602001909291908035906020019064010000000081111561045a57600080fd5b82018360208201111561046c57600080fd5b8035906020019184600183028401116401000000008311171561048e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506108d7565b005b6105af600480360360608110156104f857600080fd5b8101908080359060200190929190803590602001909291908035906020019064010000000081111561052957600080fd5b82018360208201111561053b57600080fd5b8035906020019184600183028401116401000000008311171561055d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506108fb565b005b610613600480360360408110156105c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094a565b6040518082815260200191505060405180910390f35b6107096004803603606081101561063f57600080fd5b810190808035906020019092919080356fffffffffffffffffffffffffffffffff191690602001909291908035906020019064010000000081111561068357600080fd5b82018360208201111561069557600080fd5b803590602001918460018302840111640100000000831117156106b757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506109c7565b005b6107d86004803603606081101561072157600080fd5b8101908080359060200190929190803590602001909291908035906020019064010000000081111561075257600080fd5b82018360208201111561076457600080fd5b8035906020019184600183028401116401000000008311171561078657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a16565b005b600080823b905060008163ffffffff1611915050919050565b606060206040519080825280601f01601f1916602001820160405280156108295781602001600182028036833780820191505090505b509050600060608473ffffffffffffffffffffffffffffffffffffffff16901b60001b905080825261085e828660148661086f565b5050505050565b8181840153505050565b60008090505b6020831061089c578085015184830152602084019350602081019050602083039250610875565b60008314156108ab57506108d1565b60006001846020036101000a039050801986830151168186850151168187860152505050505b50505050565b6000801515831515146108eb5760016108ee565b60005b9050808285015350505050565b606060206040519080825280601f01601f1916602001820160405280156109315781602001600182028036833780820191505090505b509050828152610944818560208561086f565b50505050565b60008060405180807f62616c616e63654f662861646472657373290000000000000000000000000000815250601201905060405180910390209050604051818152836004820152602081602483600089620249f0f1806109a957600093505b60008111156109b757815193505b6020820160405250505092915050565b606060106040519080825280601f01601f1916602001820160405280156109fd5781602001600182028036833780820191505090505b509050828152610a10818560108561086f565b50505050565b606060206040519080825280601f01601f191660200182016040528015610a4c5781602001600182028036833780820191505090505b509050828152610a5f818560208561086f565b5050505056fea26469706673582212207e26e5a753b5bec3c7f46da2fc09a5e22d1e306b3b121e0bcbc645d6fcec918564736f6c63430006040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063822de36d11610066578063822de36d14610411578063b644331d146104e2578063c489744b146105b1578063d68eb36c14610629578063f404b7061461070b57610093565b806316279055146100985780631892154b146100f457806320d2da85146101d9578063407c280d146102ab575b600080fd5b6100da600480360360208110156100ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107da565b604051808215151515815260200191505060405180910390f35b6101d76004803603606081101561010a57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561015157600080fd5b82018360208201111561016357600080fd5b8035906020019184600183028401116401000000008311171561018557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506107f3565b005b6102a9600480360360608110156101ef57600080fd5b8101908080359060200190929190803560ff1690602001909291908035906020019064010000000081111561022357600080fd5b82018360208201111561023557600080fd5b8035906020019184600183028401116401000000008311171561025757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610865565b005b61040f600480360360808110156102c157600080fd5b81019080803590602001906401000000008111156102de57600080fd5b8201836020820111156102f057600080fd5b8035906020019184600183028401116401000000008311171561031257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803590602001909291908035906020019064010000000081111561038957600080fd5b82018360208201111561039b57600080fd5b803590602001918460018302840111640100000000831117156103bd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061086f565b005b6104e06004803603606081101561042757600080fd5b81019080803590602001909291908035151590602001909291908035906020019064010000000081111561045a57600080fd5b82018360208201111561046c57600080fd5b8035906020019184600183028401116401000000008311171561048e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506108d7565b005b6105af600480360360608110156104f857600080fd5b8101908080359060200190929190803590602001909291908035906020019064010000000081111561052957600080fd5b82018360208201111561053b57600080fd5b8035906020019184600183028401116401000000008311171561055d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506108fb565b005b610613600480360360408110156105c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094a565b6040518082815260200191505060405180910390f35b6107096004803603606081101561063f57600080fd5b810190808035906020019092919080356fffffffffffffffffffffffffffffffff191690602001909291908035906020019064010000000081111561068357600080fd5b82018360208201111561069557600080fd5b803590602001918460018302840111640100000000831117156106b757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506109c7565b005b6107d86004803603606081101561072157600080fd5b8101908080359060200190929190803590602001909291908035906020019064010000000081111561075257600080fd5b82018360208201111561076457600080fd5b8035906020019184600183028401116401000000008311171561078657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a16565b005b600080823b905060008163ffffffff1611915050919050565b606060206040519080825280601f01601f1916602001820160405280156108295781602001600182028036833780820191505090505b509050600060608473ffffffffffffffffffffffffffffffffffffffff16901b60001b905080825261085e828660148661086f565b5050505050565b8181840153505050565b60008090505b6020831061089c578085015184830152602084019350602081019050602083039250610875565b60008314156108ab57506108d1565b60006001846020036101000a039050801986830151168186850151168187860152505050505b50505050565b6000801515831515146108eb5760016108ee565b60005b9050808285015350505050565b606060206040519080825280601f01601f1916602001820160405280156109315781602001600182028036833780820191505090505b509050828152610944818560208561086f565b50505050565b60008060405180807f62616c616e63654f662861646472657373290000000000000000000000000000815250601201905060405180910390209050604051818152836004820152602081602483600089620249f0f1806109a957600093505b60008111156109b757815193505b6020820160405250505092915050565b606060106040519080825280601f01601f1916602001820160405280156109fd5781602001600182028036833780820191505090505b509050828152610a10818560108561086f565b50505050565b606060206040519080825280601f01601f191660200182016040528015610a4c5781602001600182028036833780820191505090505b509050828152610a5f818560208561086f565b5050505056fea26469706673582212207e26e5a753b5bec3c7f46da2fc09a5e22d1e306b3b121e0bcbc645d6fcec918564736f6c63430006040033", + "sourceMap": "26:3561:5:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26:3561:5;;;;;;;", + "deployedSourceMap": "26:3561:5:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26:3561:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;47:181:5;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;47:181:5;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2099:312;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2099:312:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;2099:312:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;2099:312:5;;;;;;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;2099:312:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2099:312:5;;;;;;;;;;;;;;;:::i;:::-;;1906:187;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1906:187:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;1906:187:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1906:187:5;;;;;;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;1906:187:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1906:187:5;;;;;;;;;;;;;;;:::i;:::-;;234:669;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;234:669:5;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;234:669:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;234:669:5;;;;;;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;234:669:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;234:669:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;234:669:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;234:669:5;;;;;;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;234:669:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;234:669:5;;;;;;;;;;;;;;;:::i;:::-;;909:223;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;909:223:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;909:223:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;909:223:5;;;;;;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;909:223:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;909:223:5;;;;;;;;;;;;;;;:::i;:::-;;1652:248;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1652:248:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;1652:248:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1652:248:5;;;;;;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;1652:248:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1652:248:5;;;;;;;;;;;;;;;:::i;:::-;;2417:1168;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2417:1168:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1138:251;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1138:251:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;1138:251:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1138:251:5;;;;;;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;1138:251:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1138:251:5;;;;;;;;;;;;;;;:::i;:::-;;1395;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1395:251:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;1395:251:5;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1395:251:5;;;;;;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;1395:251:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1395:251:5;;;;;;;;;;;;;;;:::i;:::-;;47:181;102:4;118:11;182:4;170:17;162:25;;220:1;213:4;:8;;;206:15;;;47:181;;;:::o;2099:312::-;2215:14;2242:2;2232:13;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;2232:13:5;;;;2215:30;;2255:16;2301:2;2290:6;2282:15;;:21;;2274:30;;2255:49;;2347:8;2344:1;2337:19;2375:29;2382:1;2385:6;2393:2;2397:6;2375;:29::i;:::-;2099:312;;;;;:::o;1906:187::-;2070:6;2061;2053;2049:19;2041:36;2027:60;;;:::o;234:669::-;378:16;397:1;378:20;;408:202;422:2;415:3;:9;408:202;;521:8;516:3;512:18;506:25;497:6;489;485:19;478:54;569:2;559:12;;;;597:2;585:14;;;;433:2;426:9;;;;408:202;;;630:1;623:3;:8;619:21;;;633:7;;;619:21;649:12;682:1;675:3;670:2;:8;664:3;:15;:19;649:34;;766:4;762:9;755:3;745:8;741:18;735:25;731:41;833:4;823:6;815;811:19;805:26;801:37;879:7;870:6;862;858:19;851:36;702:195;;;;;;;;;:::o;909:223::-;1019:7;1039:5;1029:15;;:6;:15;;;:23;;1051:1;1029:23;;;1047:1;1029:23;1019:33;;1114:1;1105:6;1097;1093:19;1085:31;1071:55;;;;:::o;1652:248::-;1765:14;1792:2;1782:13;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;1782:13:5;;;;1765:30;;1838:6;1835:1;1828:17;1864:29;1871:1;1874:6;1882:2;1886:6;1864;:29::i;:::-;1652:248;;;;:::o;2417:1168::-;2507:11;2534:10;2554:31;;;;;;;;;;;;;;;;;;;2534:52;;2684:4;2678:11;2761:3;2756;2749:16;2851:4;2844;2839:3;2835:14;2828:28;3229:4;3182:3;3132:4;3074:3;3029:1;2943:9;2906:6;2884:363;3299:6;3289:2;;3332:1;3325:8;;3289:2;3409:1;3401:6;3398:13;3395:2;;;3443:3;3437:10;3430:17;;3395:2;3527:4;3522:3;3518:14;3512:4;3505:28;2605:974;;;;;;;:::o;1138:251::-;1254:14;1281:2;1271:13;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;1271:13:5;;;;1254:30;;1327:6;1324:1;1317:17;1353:29;1360:1;1363:6;1371:2;1375:6;1353;:29::i;:::-;1138:251;;;;:::o;1395:::-;1511:14;1538:2;1528:13;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;1528:13:5;;;;1511:30;;1584:6;1581:1;1574:17;1610:29;1617:1;1620:6;1628:2;1632:6;1610;:29::i;:::-;1395:251;;;;:::o", + "source": "pragma solidity ^0.6.4;\n\n\ncontract Utils {\n function isContract(address addr) public view returns (bool) {\n uint32 size;\n assembly {\n size := extcodesize(addr)\n }\n return size > 0;\n }\n\n function memcpy(\n bytes memory src,\n uint256 _offst,\n uint256 len,\n bytes memory result\n ) public pure {\n uint256 srcOffst = 0;\n for (; len >= 32; len -= 32) {\n assembly {\n mstore(add(result, _offst), mload(add(src, srcOffst)))\n }\n _offst += 32;\n srcOffst += 32;\n }\n if (len == 0) return;\n uint256 mask = 256**(32 - len) - 1;\n assembly {\n let srcpart := and(mload(add(srcOffst, src)), not(mask))\n let destpart := and(mload(add(result, _offst)), mask)\n mstore(add(result, _offst), srcpart)\n }\n }\n\n function copyBool(uint256 _offst, bool _input, bytes memory result)\n public\n pure\n {\n uint8 x = _input == false ? 0 : 1;\n assembly {\n mstore8(add(_offst, result), x)\n }\n }\n\n function copyBytes16(uint256 _offst, bytes16 _input, bytes memory result)\n public\n pure\n {\n bytes memory b = new bytes(16);\n assembly {\n mstore(b, _input)\n }\n memcpy(b, _offst, 16, result);\n }\n\n function copyBytes32(uint256 _offst, bytes32 _input, bytes memory result)\n public\n pure\n {\n bytes memory b = new bytes(32);\n assembly {\n mstore(b, _input)\n }\n memcpy(b, _offst, 32, result);\n }\n\n function copyUint(uint256 _offst, uint256 _input, bytes memory result)\n public\n pure\n {\n bytes memory b = new bytes(32);\n assembly {\n mstore(b, _input)\n }\n memcpy(b, _offst, 32, result);\n }\n\n function copyUint8(uint256 _offst, uint8 _input, bytes memory result)\n public\n pure\n {\n assembly {\n mstore8(add(_offst, result), _input)\n }\n }\n\n function copyAddress(uint256 _offst, address _input, bytes memory result)\n public\n pure\n {\n bytes memory b = new bytes(32);\n bytes32 _address = bytes32(uint256(_input) << 96);\n assembly {\n mstore(b, _address)\n }\n memcpy(b, _offst, 20, result);\n }\n\n function getTokenBalance(address tokenAddr, address addr)\n public\n returns (uint256 bal)\n {\n bytes4 sig = bytes4(keccak256(\"balanceOf(address)\"));\n assembly {\n // move pointer to free memory spot\n let ptr := mload(0x40)\n // put function sig at memory spot\n mstore(ptr, sig)\n // append argument after function sig\n mstore(add(ptr, 0x04), addr)\n\n let result := call(\n 150000, // gas limit\n tokenAddr, // to addr. append var to _slot to access storage variable\n 0, // not transfer any ether\n ptr, // Inputs are stored at location ptr\n 0x24, // Inputs are 36 bytes long\n ptr, //Store output over input\n 0x20\n ) //Outputs are 32 bytes long\n\n if iszero(result) {\n bal := 0 // return 0 on error and 0 balance\n }\n if gt(result, 0) {\n bal := mload(ptr) // Assign output to answer var\n }\n mstore(0x40, add(ptr, 0x20)) // Set storage pointer to new space\n }\n }\n}\n", + "sourcePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/Utils.sol", + "ast": { + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/Utils.sol", + "exportedSymbols": { + "Utils": [ + 1193 + ] + }, + "id": 1194, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 962, + "literals": [ + "solidity", + "^", + "0.6", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "0:23:5" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1193, + "linearizedBaseContracts": [ + 1193 + ], + "name": "Utils", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 977, + "nodeType": "Block", + "src": "108:120:5", + "statements": [ + { + "assignments": [ + 970 + ], + "declarations": [ + { + "constant": false, + "id": 970, + "name": "size", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 977, + "src": "118:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 969, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "118:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 971, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "118:11:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "148:49:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "162:25:5", + "value": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "182:4:5" + } + ], + "functionName": { + "name": "extcodesize", + "nodeType": "YulIdentifier", + "src": "170:11:5" + }, + "nodeType": "YulFunctionCall", + "src": "170:17:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "162:4:5" + } + ] + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 964, + "isOffset": false, + "isSlot": false, + "src": "182:4:5", + "valueSize": 1 + }, + { + "declaration": 970, + "isOffset": false, + "isSlot": false, + "src": "162:4:5", + "valueSize": 1 + } + ], + "id": 972, + "nodeType": "InlineAssembly", + "src": "139:58:5" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 973, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 970, + "src": "213:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "220:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "213:8:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 968, + "id": 976, + "nodeType": "Return", + "src": "206:15:5" + } + ] + }, + "documentation": null, + "functionSelector": "16279055", + "id": 978, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 964, + "name": "addr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 978, + "src": "67:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 963, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "66:14:5" + }, + "returnParameters": { + "id": 968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 967, + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 978, + "src": "102:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 966, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "102:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "101:6:5" + }, + "scope": 1193, + "src": "47:181:5", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1028, + "nodeType": "Block", + "src": "368:535:5", + "statements": [ + { + "assignments": [ + 990 + ], + "declarations": [ + { + "constant": false, + "id": 990, + "name": "srcOffst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1028, + "src": "378:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 989, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "378:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 992, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "397:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "378:20:5" + }, + { + "body": { + "id": 1009, + "nodeType": "Block", + "src": "437:173:5", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "460:86:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "489:6:5" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "497:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "485:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "485:19:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "516:3:5" + }, + { + "name": "srcOffst", + "nodeType": "YulIdentifier", + "src": "521:8:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "512:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "512:18:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "506:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "506:25:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "478:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "478:54:5" + }, + "nodeType": "YulExpressionStatement", + "src": "478:54:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 982, + "isOffset": false, + "isSlot": false, + "src": "497:6:5", + "valueSize": 1 + }, + { + "declaration": 986, + "isOffset": false, + "isSlot": false, + "src": "489:6:5", + "valueSize": 1 + }, + { + "declaration": 980, + "isOffset": false, + "isSlot": false, + "src": "516:3:5", + "valueSize": 1 + }, + { + "declaration": 990, + "isOffset": false, + "isSlot": false, + "src": "521:8:5", + "valueSize": 1 + } + ], + "id": 1000, + "nodeType": "InlineAssembly", + "src": "451:95:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1001, + "name": "_offst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 982, + "src": "559:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 1002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "569:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "559:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1004, + "nodeType": "ExpressionStatement", + "src": "559:12:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1005, + "name": "srcOffst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 990, + "src": "585:8:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 1006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "597:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "585:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1008, + "nodeType": "ExpressionStatement", + "src": "585:14:5" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 993, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "415:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "422:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "415:9:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1010, + "initializationExpression": null, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 996, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "426:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "433:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "426:9:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 999, + "nodeType": "ExpressionStatement", + "src": "426:9:5" + }, + "nodeType": "ForStatement", + "src": "408:202:5" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1011, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "623:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "630:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "623:8:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1015, + "nodeType": "IfStatement", + "src": "619:21:5", + "trueBody": { + "expression": null, + "functionReturnParameters": 988, + "id": 1014, + "nodeType": "Return", + "src": "633:7:5" + } + }, + { + "assignments": [ + 1017 + ], + "declarations": [ + { + "constant": false, + "id": 1017, + "name": "mask", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1028, + "src": "649:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1016, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "649:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1026, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "323536", + "id": 1018, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "664:3:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 1019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "670:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 1020, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "675:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "670:8:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1022, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "669:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "664:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "682:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "664:19:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "649:34:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "702:195:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "716:56:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "srcOffst", + "nodeType": "YulIdentifier", + "src": "745:8:5" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "755:3:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "741:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "741:18:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "735:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "735:25:5" + }, + { + "arguments": [ + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "766:4:5" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "762:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "762:9:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "731:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "731:41:5" + }, + "variables": [ + { + "name": "srcpart", + "nodeType": "YulTypedName", + "src": "720:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "785:53:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "815:6:5" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "823:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "811:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "811:19:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "805:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "805:26:5" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "833:4:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "801:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "801:37:5" + }, + "variables": [ + { + "name": "destpart", + "nodeType": "YulTypedName", + "src": "789:8:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "862:6:5" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "870:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "858:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "858:19:5" + }, + { + "name": "srcpart", + "nodeType": "YulIdentifier", + "src": "879:7:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "851:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "851:36:5" + }, + "nodeType": "YulExpressionStatement", + "src": "851:36:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 982, + "isOffset": false, + "isSlot": false, + "src": "823:6:5", + "valueSize": 1 + }, + { + "declaration": 982, + "isOffset": false, + "isSlot": false, + "src": "870:6:5", + "valueSize": 1 + }, + { + "declaration": 1017, + "isOffset": false, + "isSlot": false, + "src": "766:4:5", + "valueSize": 1 + }, + { + "declaration": 1017, + "isOffset": false, + "isSlot": false, + "src": "833:4:5", + "valueSize": 1 + }, + { + "declaration": 986, + "isOffset": false, + "isSlot": false, + "src": "815:6:5", + "valueSize": 1 + }, + { + "declaration": 986, + "isOffset": false, + "isSlot": false, + "src": "862:6:5", + "valueSize": 1 + }, + { + "declaration": 980, + "isOffset": false, + "isSlot": false, + "src": "755:3:5", + "valueSize": 1 + }, + { + "declaration": 990, + "isOffset": false, + "isSlot": false, + "src": "745:8:5", + "valueSize": 1 + } + ], + "id": 1027, + "nodeType": "InlineAssembly", + "src": "693:204:5" + } + ] + }, + "documentation": null, + "functionSelector": "407c280d", + "id": 1029, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "memcpy", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 980, + "name": "src", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1029, + "src": "259:16:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 979, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "259:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 982, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1029, + "src": "285:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 981, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "285:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 984, + "name": "len", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1029, + "src": "309:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "309:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 986, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1029, + "src": "330:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 985, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "330:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "249:106:5" + }, + "returnParameters": { + "id": 988, + "nodeType": "ParameterList", + "parameters": [], + "src": "368:0:5" + }, + "scope": 1193, + "src": "234:669:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1048, + "nodeType": "Block", + "src": "1009:123:5", + "statements": [ + { + "assignments": [ + 1039 + ], + "declarations": [ + { + "constant": false, + "id": 1039, + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1048, + "src": "1019:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1038, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1019:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1046, + "initialValue": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1040, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1033, + "src": "1029:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1039:5:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1029:15:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1051:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "id": 1045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1029:23:5", + "trueExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1047:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1019:33:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1071:55:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1097:6:5" + }, + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1105:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1093:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1093:19:5" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "1114:1:5" + } + ], + "functionName": { + "name": "mstore8", + "nodeType": "YulIdentifier", + "src": "1085:7:5" + }, + "nodeType": "YulFunctionCall", + "src": "1085:31:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1085:31:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1031, + "isOffset": false, + "isSlot": false, + "src": "1097:6:5", + "valueSize": 1 + }, + { + "declaration": 1035, + "isOffset": false, + "isSlot": false, + "src": "1105:6:5", + "valueSize": 1 + }, + { + "declaration": 1039, + "isOffset": false, + "isSlot": false, + "src": "1114:1:5", + "valueSize": 1 + } + ], + "id": 1047, + "nodeType": "InlineAssembly", + "src": "1062:64:5" + } + ] + }, + "documentation": null, + "functionSelector": "822de36d", + "id": 1049, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyBool", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1036, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1031, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1049, + "src": "927:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1030, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "927:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1033, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1049, + "src": "943:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1032, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "943:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1035, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1049, + "src": "956:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1034, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "956:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "926:50:5" + }, + "returnParameters": { + "id": 1037, + "nodeType": "ParameterList", + "parameters": [], + "src": "1009:0:5" + }, + "scope": 1193, + "src": "909:223:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1073, + "nodeType": "Block", + "src": "1244:145:5", + "statements": [ + { + "assignments": [ + 1059 + ], + "declarations": [ + { + "constant": false, + "id": 1059, + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1073, + "src": "1254:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1058, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1254:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1064, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3136", + "id": 1062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1281:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + } + ], + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1271:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1060, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1275:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1271:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1254:30:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1303:41:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "1324:1:5" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1327:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1317:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1317:17:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1317:17:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1053, + "isOffset": false, + "isSlot": false, + "src": "1327:6:5", + "valueSize": 1 + }, + { + "declaration": 1059, + "isOffset": false, + "isSlot": false, + "src": "1324:1:5", + "valueSize": 1 + } + ], + "id": 1065, + "nodeType": "InlineAssembly", + "src": "1294:50:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1067, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1059, + "src": "1360:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1068, + "name": "_offst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1051, + "src": "1363:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "3136", + "id": 1069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1371:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + { + "argumentTypes": null, + "id": 1070, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1055, + "src": "1375:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1066, + "name": "memcpy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1029, + "src": "1353:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,uint256,uint256,bytes memory) pure" + } + }, + "id": 1071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1353:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1072, + "nodeType": "ExpressionStatement", + "src": "1353:29:5" + } + ] + }, + "documentation": null, + "functionSelector": "d68eb36c", + "id": 1074, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyBytes16", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1051, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1074, + "src": "1159:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1159:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1053, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1074, + "src": "1175:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 1052, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "1175:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1055, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1074, + "src": "1191:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1054, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1191:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1158:53:5" + }, + "returnParameters": { + "id": 1057, + "nodeType": "ParameterList", + "parameters": [], + "src": "1244:0:5" + }, + "scope": 1193, + "src": "1138:251:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1098, + "nodeType": "Block", + "src": "1501:145:5", + "statements": [ + { + "assignments": [ + 1084 + ], + "declarations": [ + { + "constant": false, + "id": 1084, + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1098, + "src": "1511:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1083, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1511:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1089, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3332", + "id": 1087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1538:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1528:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1085, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1532:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1528:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1511:30:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1560:41:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "1581:1:5" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1584:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1574:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1574:17:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1574:17:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1078, + "isOffset": false, + "isSlot": false, + "src": "1584:6:5", + "valueSize": 1 + }, + { + "declaration": 1084, + "isOffset": false, + "isSlot": false, + "src": "1581:1:5", + "valueSize": 1 + } + ], + "id": 1090, + "nodeType": "InlineAssembly", + "src": "1551:50:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1092, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1084, + "src": "1617:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1093, + "name": "_offst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1076, + "src": "1620:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "3332", + "id": 1094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1628:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + { + "argumentTypes": null, + "id": 1095, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1080, + "src": "1632:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1091, + "name": "memcpy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1029, + "src": "1610:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,uint256,uint256,bytes memory) pure" + } + }, + "id": 1096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1610:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1097, + "nodeType": "ExpressionStatement", + "src": "1610:29:5" + } + ] + }, + "documentation": null, + "functionSelector": "f404b706", + "id": 1099, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyBytes32", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1076, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1099, + "src": "1416:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1416:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1078, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1099, + "src": "1432:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1077, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1432:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1080, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1099, + "src": "1448:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1079, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1448:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1415:53:5" + }, + "returnParameters": { + "id": 1082, + "nodeType": "ParameterList", + "parameters": [], + "src": "1501:0:5" + }, + "scope": 1193, + "src": "1395:251:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1123, + "nodeType": "Block", + "src": "1755:145:5", + "statements": [ + { + "assignments": [ + 1109 + ], + "declarations": [ + { + "constant": false, + "id": 1109, + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1123, + "src": "1765:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1108, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1765:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1114, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3332", + "id": 1112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1792:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "id": 1111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1782:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1110, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1786:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1782:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1765:30:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1814:41:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "1835:1:5" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1838:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1828:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1828:17:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1828:17:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1103, + "isOffset": false, + "isSlot": false, + "src": "1838:6:5", + "valueSize": 1 + }, + { + "declaration": 1109, + "isOffset": false, + "isSlot": false, + "src": "1835:1:5", + "valueSize": 1 + } + ], + "id": 1115, + "nodeType": "InlineAssembly", + "src": "1805:50:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1117, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1109, + "src": "1871:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1118, + "name": "_offst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1101, + "src": "1874:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "3332", + "id": 1119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1882:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + { + "argumentTypes": null, + "id": 1120, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "1886:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1116, + "name": "memcpy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1029, + "src": "1864:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,uint256,uint256,bytes memory) pure" + } + }, + "id": 1121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1864:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1122, + "nodeType": "ExpressionStatement", + "src": "1864:29:5" + } + ] + }, + "documentation": null, + "functionSelector": "b644331d", + "id": 1124, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyUint", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1101, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1124, + "src": "1670:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1670:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1103, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1124, + "src": "1686:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1686:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1105, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1124, + "src": "1702:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1104, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1702:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1669:53:5" + }, + "returnParameters": { + "id": 1107, + "nodeType": "ParameterList", + "parameters": [], + "src": "1755:0:5" + }, + "scope": 1193, + "src": "1652:248:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1134, + "nodeType": "Block", + "src": "2008:85:5", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "2027:60:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2053:6:5" + }, + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2061:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2049:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2049:19:5" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2070:6:5" + } + ], + "functionName": { + "name": "mstore8", + "nodeType": "YulIdentifier", + "src": "2041:7:5" + }, + "nodeType": "YulFunctionCall", + "src": "2041:36:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2041:36:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1128, + "isOffset": false, + "isSlot": false, + "src": "2070:6:5", + "valueSize": 1 + }, + { + "declaration": 1126, + "isOffset": false, + "isSlot": false, + "src": "2053:6:5", + "valueSize": 1 + }, + { + "declaration": 1130, + "isOffset": false, + "isSlot": false, + "src": "2061:6:5", + "valueSize": 1 + } + ], + "id": 1133, + "nodeType": "InlineAssembly", + "src": "2018:69:5" + } + ] + }, + "documentation": null, + "functionSelector": "20d2da85", + "id": 1135, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyUint8", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1126, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1135, + "src": "1925:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1125, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1925:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1128, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1135, + "src": "1941:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1127, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1941:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1130, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1135, + "src": "1955:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1129, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1955:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1924:51:5" + }, + "returnParameters": { + "id": 1132, + "nodeType": "ParameterList", + "parameters": [], + "src": "2008:0:5" + }, + "scope": 1193, + "src": "1906:187:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1171, + "nodeType": "Block", + "src": "2205:206:5", + "statements": [ + { + "assignments": [ + 1145 + ], + "declarations": [ + { + "constant": false, + "id": 1145, + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1171, + "src": "2215:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1144, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2215:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1150, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3332", + "id": 1148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2242:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "id": 1147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2232:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1146, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2236:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2232:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2215:30:5" + }, + { + "assignments": [ + 1152 + ], + "declarations": [ + { + "constant": false, + "id": 1152, + "name": "_address", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1171, + "src": "2255:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1151, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2255:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1162, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1157, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1139, + "src": "2290:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2282:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1155, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2282:7:5", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2282:15:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3936", + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2301:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_96_by_1", + "typeString": "int_const 96" + }, + "value": "96" + }, + "src": "2282:21:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2274:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 1153, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2274:7:5", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2274:30:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2255:49:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "2323:43:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "2344:1:5" + }, + { + "name": "_address", + "nodeType": "YulIdentifier", + "src": "2347:8:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2337:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2337:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2337:19:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1152, + "isOffset": false, + "isSlot": false, + "src": "2347:8:5", + "valueSize": 1 + }, + { + "declaration": 1145, + "isOffset": false, + "isSlot": false, + "src": "2344:1:5", + "valueSize": 1 + } + ], + "id": 1163, + "nodeType": "InlineAssembly", + "src": "2314:52:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1165, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1145, + "src": "2382:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1166, + "name": "_offst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1137, + "src": "2385:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "3230", + "id": 1167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2393:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + { + "argumentTypes": null, + "id": 1168, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1141, + "src": "2397:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1164, + "name": "memcpy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1029, + "src": "2375:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,uint256,uint256,bytes memory) pure" + } + }, + "id": 1169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2375:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1170, + "nodeType": "ExpressionStatement", + "src": "2375:29:5" + } + ] + }, + "documentation": null, + "functionSelector": "1892154b", + "id": 1172, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyAddress", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1137, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1172, + "src": "2120:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1136, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2120:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1139, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1172, + "src": "2136:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1138, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2136:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1141, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1172, + "src": "2152:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1140, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2152:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2119:53:5" + }, + "returnParameters": { + "id": 1143, + "nodeType": "ParameterList", + "parameters": [], + "src": "2205:0:5" + }, + "scope": 1193, + "src": "2099:312:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1191, + "nodeType": "Block", + "src": "2524:1061:5", + "statements": [ + { + "assignments": [ + 1182 + ], + "declarations": [ + { + "constant": false, + "id": 1182, + "name": "sig", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1191, + "src": "2534:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1181, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2534:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1189, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "62616c616e63654f66286164647265737329", + "id": 1186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2564:20:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "typeString": "literal_string \"balanceOf(address)\"" + }, + "value": "balanceOf(address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "typeString": "literal_string \"balanceOf(address)\"" + } + ], + "id": 1185, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2554:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2554:31:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2547:6:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 1183, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2547:6:5", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2547:39:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2534:52:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "2605:974:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2667:22:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2684:4:5", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2678:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "2678:11:5" + }, + "variables": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "2671:3:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2756:3:5" + }, + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "2761:3:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2749:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2749:16:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2749:16:5" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2839:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2844:4:5", + "type": "", + "value": "0x04" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2835:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2835:14:5" + }, + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "2851:4:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2828:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2828:28:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2828:28:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2870:377:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2906:6:5", + "type": "", + "value": "150000" + }, + { + "name": "tokenAddr", + "nodeType": "YulIdentifier", + "src": "2943:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3029:1:5", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "3074:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3132:4:5", + "type": "", + "value": "0x24" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "3182:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3229:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "2884:4:5" + }, + "nodeType": "YulFunctionCall", + "src": "2884:363:5" + }, + "variables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2874:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3307:75:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3325:8:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3332:1:5", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "bal", + "nodeType": "YulIdentifier", + "src": "3325:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "3299:6:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3292:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3292:14:5" + }, + "nodeType": "YulIf", + "src": "3289:2:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3412:80:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3430:17:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "3443:3:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3437:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "3437:10:5" + }, + "variableNames": [ + { + "name": "bal", + "nodeType": "YulIdentifier", + "src": "3430:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "3401:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3409:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3398:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "3398:13:5" + }, + "nodeType": "YulIf", + "src": "3395:2:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3512:4:5", + "type": "", + "value": "0x40" + }, + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "3522:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3527:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3518:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3518:14:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3505:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3505:28:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3505:28:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1176, + "isOffset": false, + "isSlot": false, + "src": "2851:4:5", + "valueSize": 1 + }, + { + "declaration": 1179, + "isOffset": false, + "isSlot": false, + "src": "3325:3:5", + "valueSize": 1 + }, + { + "declaration": 1179, + "isOffset": false, + "isSlot": false, + "src": "3430:3:5", + "valueSize": 1 + }, + { + "declaration": 1182, + "isOffset": false, + "isSlot": false, + "src": "2761:3:5", + "valueSize": 1 + }, + { + "declaration": 1174, + "isOffset": false, + "isSlot": false, + "src": "2943:9:5", + "valueSize": 1 + } + ], + "id": 1190, + "nodeType": "InlineAssembly", + "src": "2596:983:5" + } + ] + }, + "documentation": null, + "functionSelector": "c489744b", + "id": 1192, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokenBalance", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1174, + "name": "tokenAddr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1192, + "src": "2442:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1173, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2442:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1176, + "name": "addr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1192, + "src": "2461:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2461:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2441:33:5" + }, + "returnParameters": { + "id": 1180, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1179, + "name": "bal", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1192, + "src": "2507:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1178, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2507:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2506:13:5" + }, + "scope": 1193, + "src": "2417:1168:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 1194, + "src": "26:3561:5" + } + ], + "src": "0:3588:5" + }, + "legacyAST": { + "absolutePath": "/home/kvhnuke/GitHub/utility-contracts/contracts/token-balances/Utils.sol", + "exportedSymbols": { + "Utils": [ + 1193 + ] + }, + "id": 1194, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 962, + "literals": [ + "solidity", + "^", + "0.6", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "0:23:5" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1193, + "linearizedBaseContracts": [ + 1193 + ], + "name": "Utils", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 977, + "nodeType": "Block", + "src": "108:120:5", + "statements": [ + { + "assignments": [ + 970 + ], + "declarations": [ + { + "constant": false, + "id": 970, + "name": "size", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 977, + "src": "118:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 969, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "118:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 971, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "118:11:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "148:49:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "162:25:5", + "value": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "182:4:5" + } + ], + "functionName": { + "name": "extcodesize", + "nodeType": "YulIdentifier", + "src": "170:11:5" + }, + "nodeType": "YulFunctionCall", + "src": "170:17:5" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "162:4:5" + } + ] + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 964, + "isOffset": false, + "isSlot": false, + "src": "182:4:5", + "valueSize": 1 + }, + { + "declaration": 970, + "isOffset": false, + "isSlot": false, + "src": "162:4:5", + "valueSize": 1 + } + ], + "id": 972, + "nodeType": "InlineAssembly", + "src": "139:58:5" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 973, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 970, + "src": "213:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "220:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "213:8:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 968, + "id": 976, + "nodeType": "Return", + "src": "206:15:5" + } + ] + }, + "documentation": null, + "functionSelector": "16279055", + "id": 978, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 964, + "name": "addr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 978, + "src": "67:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 963, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "66:14:5" + }, + "returnParameters": { + "id": 968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 967, + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 978, + "src": "102:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 966, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "102:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "101:6:5" + }, + "scope": 1193, + "src": "47:181:5", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1028, + "nodeType": "Block", + "src": "368:535:5", + "statements": [ + { + "assignments": [ + 990 + ], + "declarations": [ + { + "constant": false, + "id": 990, + "name": "srcOffst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1028, + "src": "378:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 989, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "378:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 992, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "397:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "378:20:5" + }, + { + "body": { + "id": 1009, + "nodeType": "Block", + "src": "437:173:5", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "460:86:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "489:6:5" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "497:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "485:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "485:19:5" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "516:3:5" + }, + { + "name": "srcOffst", + "nodeType": "YulIdentifier", + "src": "521:8:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "512:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "512:18:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "506:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "506:25:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "478:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "478:54:5" + }, + "nodeType": "YulExpressionStatement", + "src": "478:54:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 982, + "isOffset": false, + "isSlot": false, + "src": "497:6:5", + "valueSize": 1 + }, + { + "declaration": 986, + "isOffset": false, + "isSlot": false, + "src": "489:6:5", + "valueSize": 1 + }, + { + "declaration": 980, + "isOffset": false, + "isSlot": false, + "src": "516:3:5", + "valueSize": 1 + }, + { + "declaration": 990, + "isOffset": false, + "isSlot": false, + "src": "521:8:5", + "valueSize": 1 + } + ], + "id": 1000, + "nodeType": "InlineAssembly", + "src": "451:95:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1001, + "name": "_offst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 982, + "src": "559:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 1002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "569:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "559:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1004, + "nodeType": "ExpressionStatement", + "src": "559:12:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1005, + "name": "srcOffst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 990, + "src": "585:8:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 1006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "597:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "585:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1008, + "nodeType": "ExpressionStatement", + "src": "585:14:5" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 993, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "415:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "422:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "415:9:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1010, + "initializationExpression": null, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 996, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "426:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3332", + "id": 997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "433:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "426:9:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 999, + "nodeType": "ExpressionStatement", + "src": "426:9:5" + }, + "nodeType": "ForStatement", + "src": "408:202:5" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1011, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "623:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "630:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "623:8:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1015, + "nodeType": "IfStatement", + "src": "619:21:5", + "trueBody": { + "expression": null, + "functionReturnParameters": 988, + "id": 1014, + "nodeType": "Return", + "src": "633:7:5" + } + }, + { + "assignments": [ + 1017 + ], + "declarations": [ + { + "constant": false, + "id": 1017, + "name": "mask", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1028, + "src": "649:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1016, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "649:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1026, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "323536", + "id": 1018, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "664:3:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 1019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "670:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 1020, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "675:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "670:8:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1022, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "669:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "664:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "682:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "664:19:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "649:34:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "702:195:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "716:56:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "srcOffst", + "nodeType": "YulIdentifier", + "src": "745:8:5" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "755:3:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "741:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "741:18:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "735:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "735:25:5" + }, + { + "arguments": [ + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "766:4:5" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "762:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "762:9:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "731:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "731:41:5" + }, + "variables": [ + { + "name": "srcpart", + "nodeType": "YulTypedName", + "src": "720:7:5", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "785:53:5", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "815:6:5" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "823:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "811:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "811:19:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "805:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "805:26:5" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "833:4:5" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "801:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "801:37:5" + }, + "variables": [ + { + "name": "destpart", + "nodeType": "YulTypedName", + "src": "789:8:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "862:6:5" + }, + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "870:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "858:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "858:19:5" + }, + { + "name": "srcpart", + "nodeType": "YulIdentifier", + "src": "879:7:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "851:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "851:36:5" + }, + "nodeType": "YulExpressionStatement", + "src": "851:36:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 982, + "isOffset": false, + "isSlot": false, + "src": "823:6:5", + "valueSize": 1 + }, + { + "declaration": 982, + "isOffset": false, + "isSlot": false, + "src": "870:6:5", + "valueSize": 1 + }, + { + "declaration": 1017, + "isOffset": false, + "isSlot": false, + "src": "766:4:5", + "valueSize": 1 + }, + { + "declaration": 1017, + "isOffset": false, + "isSlot": false, + "src": "833:4:5", + "valueSize": 1 + }, + { + "declaration": 986, + "isOffset": false, + "isSlot": false, + "src": "815:6:5", + "valueSize": 1 + }, + { + "declaration": 986, + "isOffset": false, + "isSlot": false, + "src": "862:6:5", + "valueSize": 1 + }, + { + "declaration": 980, + "isOffset": false, + "isSlot": false, + "src": "755:3:5", + "valueSize": 1 + }, + { + "declaration": 990, + "isOffset": false, + "isSlot": false, + "src": "745:8:5", + "valueSize": 1 + } + ], + "id": 1027, + "nodeType": "InlineAssembly", + "src": "693:204:5" + } + ] + }, + "documentation": null, + "functionSelector": "407c280d", + "id": 1029, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "memcpy", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 980, + "name": "src", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1029, + "src": "259:16:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 979, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "259:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 982, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1029, + "src": "285:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 981, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "285:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 984, + "name": "len", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1029, + "src": "309:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "309:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 986, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1029, + "src": "330:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 985, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "330:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "249:106:5" + }, + "returnParameters": { + "id": 988, + "nodeType": "ParameterList", + "parameters": [], + "src": "368:0:5" + }, + "scope": 1193, + "src": "234:669:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1048, + "nodeType": "Block", + "src": "1009:123:5", + "statements": [ + { + "assignments": [ + 1039 + ], + "declarations": [ + { + "constant": false, + "id": 1039, + "name": "x", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1048, + "src": "1019:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1038, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1019:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1046, + "initialValue": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1040, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1033, + "src": "1029:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1039:5:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1029:15:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1051:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "id": 1045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1029:23:5", + "trueExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1047:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1019:33:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1071:55:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "1097:6:5" + }, + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1105:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1093:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "1093:19:5" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "1114:1:5" + } + ], + "functionName": { + "name": "mstore8", + "nodeType": "YulIdentifier", + "src": "1085:7:5" + }, + "nodeType": "YulFunctionCall", + "src": "1085:31:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1085:31:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1031, + "isOffset": false, + "isSlot": false, + "src": "1097:6:5", + "valueSize": 1 + }, + { + "declaration": 1035, + "isOffset": false, + "isSlot": false, + "src": "1105:6:5", + "valueSize": 1 + }, + { + "declaration": 1039, + "isOffset": false, + "isSlot": false, + "src": "1114:1:5", + "valueSize": 1 + } + ], + "id": 1047, + "nodeType": "InlineAssembly", + "src": "1062:64:5" + } + ] + }, + "documentation": null, + "functionSelector": "822de36d", + "id": 1049, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyBool", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1036, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1031, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1049, + "src": "927:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1030, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "927:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1033, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1049, + "src": "943:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1032, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "943:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1035, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1049, + "src": "956:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1034, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "956:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "926:50:5" + }, + "returnParameters": { + "id": 1037, + "nodeType": "ParameterList", + "parameters": [], + "src": "1009:0:5" + }, + "scope": 1193, + "src": "909:223:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1073, + "nodeType": "Block", + "src": "1244:145:5", + "statements": [ + { + "assignments": [ + 1059 + ], + "declarations": [ + { + "constant": false, + "id": 1059, + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1073, + "src": "1254:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1058, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1254:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1064, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3136", + "id": 1062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1281:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + } + ], + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1271:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1060, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1275:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1271:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1254:30:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1303:41:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "1324:1:5" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1327:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1317:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1317:17:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1317:17:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1053, + "isOffset": false, + "isSlot": false, + "src": "1327:6:5", + "valueSize": 1 + }, + { + "declaration": 1059, + "isOffset": false, + "isSlot": false, + "src": "1324:1:5", + "valueSize": 1 + } + ], + "id": 1065, + "nodeType": "InlineAssembly", + "src": "1294:50:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1067, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1059, + "src": "1360:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1068, + "name": "_offst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1051, + "src": "1363:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "3136", + "id": 1069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1371:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + { + "argumentTypes": null, + "id": 1070, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1055, + "src": "1375:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1066, + "name": "memcpy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1029, + "src": "1353:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,uint256,uint256,bytes memory) pure" + } + }, + "id": 1071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1353:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1072, + "nodeType": "ExpressionStatement", + "src": "1353:29:5" + } + ] + }, + "documentation": null, + "functionSelector": "d68eb36c", + "id": 1074, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyBytes16", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1051, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1074, + "src": "1159:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1159:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1053, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1074, + "src": "1175:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 1052, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "1175:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1055, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1074, + "src": "1191:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1054, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1191:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1158:53:5" + }, + "returnParameters": { + "id": 1057, + "nodeType": "ParameterList", + "parameters": [], + "src": "1244:0:5" + }, + "scope": 1193, + "src": "1138:251:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1098, + "nodeType": "Block", + "src": "1501:145:5", + "statements": [ + { + "assignments": [ + 1084 + ], + "declarations": [ + { + "constant": false, + "id": 1084, + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1098, + "src": "1511:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1083, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1511:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1089, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3332", + "id": 1087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1538:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1528:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1085, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1532:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1528:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1511:30:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1560:41:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "1581:1:5" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1584:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1574:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1574:17:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1574:17:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1078, + "isOffset": false, + "isSlot": false, + "src": "1584:6:5", + "valueSize": 1 + }, + { + "declaration": 1084, + "isOffset": false, + "isSlot": false, + "src": "1581:1:5", + "valueSize": 1 + } + ], + "id": 1090, + "nodeType": "InlineAssembly", + "src": "1551:50:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1092, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1084, + "src": "1617:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1093, + "name": "_offst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1076, + "src": "1620:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "3332", + "id": 1094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1628:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + { + "argumentTypes": null, + "id": 1095, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1080, + "src": "1632:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1091, + "name": "memcpy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1029, + "src": "1610:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,uint256,uint256,bytes memory) pure" + } + }, + "id": 1096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1610:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1097, + "nodeType": "ExpressionStatement", + "src": "1610:29:5" + } + ] + }, + "documentation": null, + "functionSelector": "f404b706", + "id": 1099, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyBytes32", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1076, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1099, + "src": "1416:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1416:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1078, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1099, + "src": "1432:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1077, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1432:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1080, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1099, + "src": "1448:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1079, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1448:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1415:53:5" + }, + "returnParameters": { + "id": 1082, + "nodeType": "ParameterList", + "parameters": [], + "src": "1501:0:5" + }, + "scope": 1193, + "src": "1395:251:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1123, + "nodeType": "Block", + "src": "1755:145:5", + "statements": [ + { + "assignments": [ + 1109 + ], + "declarations": [ + { + "constant": false, + "id": 1109, + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1123, + "src": "1765:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1108, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1765:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1114, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3332", + "id": 1112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1792:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "id": 1111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1782:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1110, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1786:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1782:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1765:30:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1814:41:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "1835:1:5" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "1838:6:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1828:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "1828:17:5" + }, + "nodeType": "YulExpressionStatement", + "src": "1828:17:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1103, + "isOffset": false, + "isSlot": false, + "src": "1838:6:5", + "valueSize": 1 + }, + { + "declaration": 1109, + "isOffset": false, + "isSlot": false, + "src": "1835:1:5", + "valueSize": 1 + } + ], + "id": 1115, + "nodeType": "InlineAssembly", + "src": "1805:50:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1117, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1109, + "src": "1871:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1118, + "name": "_offst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1101, + "src": "1874:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "3332", + "id": 1119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1882:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + { + "argumentTypes": null, + "id": 1120, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "1886:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1116, + "name": "memcpy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1029, + "src": "1864:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,uint256,uint256,bytes memory) pure" + } + }, + "id": 1121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1864:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1122, + "nodeType": "ExpressionStatement", + "src": "1864:29:5" + } + ] + }, + "documentation": null, + "functionSelector": "b644331d", + "id": 1124, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyUint", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1101, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1124, + "src": "1670:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1670:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1103, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1124, + "src": "1686:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1686:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1105, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1124, + "src": "1702:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1104, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1702:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1669:53:5" + }, + "returnParameters": { + "id": 1107, + "nodeType": "ParameterList", + "parameters": [], + "src": "1755:0:5" + }, + "scope": 1193, + "src": "1652:248:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1134, + "nodeType": "Block", + "src": "2008:85:5", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "2027:60:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_offst", + "nodeType": "YulIdentifier", + "src": "2053:6:5" + }, + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2061:6:5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2049:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2049:19:5" + }, + { + "name": "_input", + "nodeType": "YulIdentifier", + "src": "2070:6:5" + } + ], + "functionName": { + "name": "mstore8", + "nodeType": "YulIdentifier", + "src": "2041:7:5" + }, + "nodeType": "YulFunctionCall", + "src": "2041:36:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2041:36:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1128, + "isOffset": false, + "isSlot": false, + "src": "2070:6:5", + "valueSize": 1 + }, + { + "declaration": 1126, + "isOffset": false, + "isSlot": false, + "src": "2053:6:5", + "valueSize": 1 + }, + { + "declaration": 1130, + "isOffset": false, + "isSlot": false, + "src": "2061:6:5", + "valueSize": 1 + } + ], + "id": 1133, + "nodeType": "InlineAssembly", + "src": "2018:69:5" + } + ] + }, + "documentation": null, + "functionSelector": "20d2da85", + "id": 1135, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyUint8", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1126, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1135, + "src": "1925:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1125, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1925:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1128, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1135, + "src": "1941:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1127, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1941:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1130, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1135, + "src": "1955:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1129, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1955:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1924:51:5" + }, + "returnParameters": { + "id": 1132, + "nodeType": "ParameterList", + "parameters": [], + "src": "2008:0:5" + }, + "scope": 1193, + "src": "1906:187:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1171, + "nodeType": "Block", + "src": "2205:206:5", + "statements": [ + { + "assignments": [ + 1145 + ], + "declarations": [ + { + "constant": false, + "id": 1145, + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1171, + "src": "2215:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1144, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2215:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1150, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3332", + "id": 1148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2242:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "id": 1147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2232:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1146, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2236:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2232:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2215:30:5" + }, + { + "assignments": [ + 1152 + ], + "declarations": [ + { + "constant": false, + "id": 1152, + "name": "_address", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1171, + "src": "2255:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1151, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2255:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1162, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1157, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1139, + "src": "2290:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2282:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1155, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2282:7:5", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2282:15:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3936", + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2301:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_96_by_1", + "typeString": "int_const 96" + }, + "value": "96" + }, + "src": "2282:21:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2274:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 1153, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2274:7:5", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2274:30:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2255:49:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "2323:43:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "b", + "nodeType": "YulIdentifier", + "src": "2344:1:5" + }, + { + "name": "_address", + "nodeType": "YulIdentifier", + "src": "2347:8:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2337:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2337:19:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2337:19:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1152, + "isOffset": false, + "isSlot": false, + "src": "2347:8:5", + "valueSize": 1 + }, + { + "declaration": 1145, + "isOffset": false, + "isSlot": false, + "src": "2344:1:5", + "valueSize": 1 + } + ], + "id": 1163, + "nodeType": "InlineAssembly", + "src": "2314:52:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1165, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1145, + "src": "2382:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1166, + "name": "_offst", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1137, + "src": "2385:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "3230", + "id": 1167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2393:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + { + "argumentTypes": null, + "id": 1168, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1141, + "src": "2397:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1164, + "name": "memcpy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1029, + "src": "2375:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,uint256,uint256,bytes memory) pure" + } + }, + "id": 1169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2375:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1170, + "nodeType": "ExpressionStatement", + "src": "2375:29:5" + } + ] + }, + "documentation": null, + "functionSelector": "1892154b", + "id": 1172, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "copyAddress", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1137, + "name": "_offst", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1172, + "src": "2120:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1136, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2120:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1139, + "name": "_input", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1172, + "src": "2136:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1138, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2136:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1141, + "name": "result", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1172, + "src": "2152:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1140, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2152:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2119:53:5" + }, + "returnParameters": { + "id": 1143, + "nodeType": "ParameterList", + "parameters": [], + "src": "2205:0:5" + }, + "scope": 1193, + "src": "2099:312:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1191, + "nodeType": "Block", + "src": "2524:1061:5", + "statements": [ + { + "assignments": [ + 1182 + ], + "declarations": [ + { + "constant": false, + "id": 1182, + "name": "sig", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1191, + "src": "2534:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1181, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2534:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1189, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "62616c616e63654f66286164647265737329", + "id": 1186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2564:20:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "typeString": "literal_string \"balanceOf(address)\"" + }, + "value": "balanceOf(address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "typeString": "literal_string \"balanceOf(address)\"" + } + ], + "id": 1185, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2554:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2554:31:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2547:6:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 1183, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2547:6:5", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2547:39:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2534:52:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "2605:974:5", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2667:22:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2684:4:5", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2678:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "2678:11:5" + }, + "variables": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "2671:3:5", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2756:3:5" + }, + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "2761:3:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2749:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2749:16:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2749:16:5" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "2839:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2844:4:5", + "type": "", + "value": "0x04" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2835:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "2835:14:5" + }, + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "2851:4:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2828:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "2828:28:5" + }, + "nodeType": "YulExpressionStatement", + "src": "2828:28:5" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2870:377:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2906:6:5", + "type": "", + "value": "150000" + }, + { + "name": "tokenAddr", + "nodeType": "YulIdentifier", + "src": "2943:9:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3029:1:5", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "3074:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3132:4:5", + "type": "", + "value": "0x24" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "3182:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3229:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "2884:4:5" + }, + "nodeType": "YulFunctionCall", + "src": "2884:363:5" + }, + "variables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2874:6:5", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3307:75:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3325:8:5", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3332:1:5", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "bal", + "nodeType": "YulIdentifier", + "src": "3325:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "3299:6:5" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3292:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3292:14:5" + }, + "nodeType": "YulIf", + "src": "3289:2:5" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3412:80:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3430:17:5", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "3443:3:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3437:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "3437:10:5" + }, + "variableNames": [ + { + "name": "bal", + "nodeType": "YulIdentifier", + "src": "3430:3:5" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "3401:6:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3409:1:5", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3398:2:5" + }, + "nodeType": "YulFunctionCall", + "src": "3398:13:5" + }, + "nodeType": "YulIf", + "src": "3395:2:5" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3512:4:5", + "type": "", + "value": "0x40" + }, + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "3522:3:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3527:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3518:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "3518:14:5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3505:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "3505:28:5" + }, + "nodeType": "YulExpressionStatement", + "src": "3505:28:5" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1176, + "isOffset": false, + "isSlot": false, + "src": "2851:4:5", + "valueSize": 1 + }, + { + "declaration": 1179, + "isOffset": false, + "isSlot": false, + "src": "3325:3:5", + "valueSize": 1 + }, + { + "declaration": 1179, + "isOffset": false, + "isSlot": false, + "src": "3430:3:5", + "valueSize": 1 + }, + { + "declaration": 1182, + "isOffset": false, + "isSlot": false, + "src": "2761:3:5", + "valueSize": 1 + }, + { + "declaration": 1174, + "isOffset": false, + "isSlot": false, + "src": "2943:9:5", + "valueSize": 1 + } + ], + "id": 1190, + "nodeType": "InlineAssembly", + "src": "2596:983:5" + } + ] + }, + "documentation": null, + "functionSelector": "c489744b", + "id": 1192, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokenBalance", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1174, + "name": "tokenAddr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1192, + "src": "2442:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1173, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2442:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1176, + "name": "addr", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1192, + "src": "2461:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2461:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2441:33:5" + }, + "returnParameters": { + "id": 1180, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1179, + "name": "bal", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1192, + "src": "2507:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1178, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2507:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2506:13:5" + }, + "scope": 1193, + "src": "2417:1168:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 1194, + "src": "26:3561:5" + } + ], + "src": "0:3588:5" + }, + "compiler": { + "name": "solc", + "version": "0.6.4+commit.1dca32f3.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.1.0", + "updatedAt": "2020-04-30T07:54:59.227Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/Migrations.sol b/contracts/Migrations.sol index f4f80bd..9ffe912 100644 --- a/contracts/Migrations.sol +++ b/contracts/Migrations.sol @@ -1,23 +1,19 @@ -pragma solidity ^0.4.17; +pragma solidity >=0.4.21 <0.7.0; + contract Migrations { address public owner; - uint public last_completed_migration; - - modifier restricted() { - if (msg.sender == owner) _; - } + uint256 public last_completed_migration; constructor() public { owner = msg.sender; } - function setCompleted(uint completed) public restricted { - last_completed_migration = completed; + modifier restricted() { + if (msg.sender == owner) _; } - function upgrade(address new_address) public restricted { - Migrations upgraded = Migrations(new_address); - upgraded.setCompleted(last_completed_migration); + function setCompleted(uint256 completed) public restricted { + last_completed_migration = completed; } } diff --git a/contracts/Seriality/BytesToTypes.sol b/contracts/Seriality/BytesToTypes.sol deleted file mode 100644 index 510f9eb..0000000 --- a/contracts/Seriality/BytesToTypes.sol +++ /dev/null @@ -1,525 +0,0 @@ -pragma solidity ^0.4.16; - -/** - * @title BytesToTypes - * @dev The BytesToTypes contract converts the memory byte arrays to the standard solidity types - * @author pouladzade@gmail.com - */ - -contract BytesToTypes { - - - function bytesToAddress(uint _offst, bytes memory _input) internal pure returns (address _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToBool(uint _offst, bytes memory _input) internal pure returns (bool _output) { - - uint8 x; - assembly { - x := mload(add(_input, _offst)) - } - x==0 ? _output = false : _output = true; - } - - function getStringSize(uint _offst, bytes memory _input) internal pure returns(uint size){ - - assembly{ - - size := mload(add(_input,_offst)) - let chunk_count := add(div(size,32),1) // chunk_count = size/32 + 1 - - if gt(mod(size,32),0) {// if size%32 > 0 - chunk_count := add(chunk_count,1) - } - - size := mul(chunk_count,32)// first 32 bytes reseves for size in strings - } - } - - function bytesToString(uint _offst, bytes memory _input, bytes memory _output) internal { - - uint size = 32; - assembly { - let loop_index:= 0 - - let chunk_count - - size := mload(add(_input,_offst)) - chunk_count := add(div(size,32),1) // chunk_count = size/32 + 1 - - if gt(mod(size,32),0) { - chunk_count := add(chunk_count,1) // chunk_count++ - } - - - loop: - mstore(add(_output,mul(loop_index,32)),mload(add(_input,_offst))) - _offst := sub(_offst,32) // _offst -= 32 - loop_index := add(loop_index,1) - - jumpi(loop , lt(loop_index , chunk_count)) - - } - } - - function bytesToBytes32(uint _offst, bytes memory _input, bytes32 _output) internal pure { - - assembly { - mstore(_output , add(_input, _offst)) - mstore(add(_output,32) , add(add(_input, _offst),32)) - } - } - - function bytesToInt8(uint _offst, bytes memory _input) internal pure returns (int8 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt16(uint _offst, bytes memory _input) internal pure returns (int16 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt24(uint _offst, bytes memory _input) internal pure returns (int24 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt32(uint _offst, bytes memory _input) internal pure returns (int32 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt40(uint _offst, bytes memory _input) internal pure returns (int40 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt48(uint _offst, bytes memory _input) internal pure returns (int48 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt56(uint _offst, bytes memory _input) internal pure returns (int56 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt64(uint _offst, bytes memory _input) internal pure returns (int64 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt72(uint _offst, bytes memory _input) internal pure returns (int72 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt80(uint _offst, bytes memory _input) internal pure returns (int80 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt88(uint _offst, bytes memory _input) internal pure returns (int88 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt96(uint _offst, bytes memory _input) internal pure returns (int96 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt104(uint _offst, bytes memory _input) internal pure returns (int104 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt112(uint _offst, bytes memory _input) internal pure returns (int112 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt120(uint _offst, bytes memory _input) internal pure returns (int120 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt128(uint _offst, bytes memory _input) internal pure returns (int128 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt136(uint _offst, bytes memory _input) internal pure returns (int136 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt144(uint _offst, bytes memory _input) internal pure returns (int144 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt152(uint _offst, bytes memory _input) internal pure returns (int152 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt160(uint _offst, bytes memory _input) internal pure returns (int160 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt168(uint _offst, bytes memory _input) internal pure returns (int168 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt176(uint _offst, bytes memory _input) internal pure returns (int176 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt184(uint _offst, bytes memory _input) internal pure returns (int184 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt192(uint _offst, bytes memory _input) internal pure returns (int192 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt200(uint _offst, bytes memory _input) internal pure returns (int200 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt208(uint _offst, bytes memory _input) internal pure returns (int208 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt216(uint _offst, bytes memory _input) internal pure returns (int216 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt224(uint _offst, bytes memory _input) internal pure returns (int224 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt232(uint _offst, bytes memory _input) internal pure returns (int232 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt240(uint _offst, bytes memory _input) internal pure returns (int240 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt248(uint _offst, bytes memory _input) internal pure returns (int248 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToInt256(uint _offst, bytes memory _input) internal pure returns (int256 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint8(uint _offst, bytes memory _input) internal pure returns (uint8 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint16(uint _offst, bytes memory _input) internal pure returns (uint16 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint24(uint _offst, bytes memory _input) internal pure returns (uint24 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint32(uint _offst, bytes memory _input) internal pure returns (uint32 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint40(uint _offst, bytes memory _input) internal pure returns (uint40 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint48(uint _offst, bytes memory _input) internal pure returns (uint48 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint56(uint _offst, bytes memory _input) internal pure returns (uint56 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint64(uint _offst, bytes memory _input) internal pure returns (uint64 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint72(uint _offst, bytes memory _input) internal pure returns (uint72 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint80(uint _offst, bytes memory _input) internal pure returns (uint80 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint88(uint _offst, bytes memory _input) internal pure returns (uint88 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint96(uint _offst, bytes memory _input) internal pure returns (uint96 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint104(uint _offst, bytes memory _input) internal pure returns (uint104 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint112(uint _offst, bytes memory _input) internal pure returns (uint112 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint120(uint _offst, bytes memory _input) internal pure returns (uint120 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint128(uint _offst, bytes memory _input) internal pure returns (uint128 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint136(uint _offst, bytes memory _input) internal pure returns (uint136 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint144(uint _offst, bytes memory _input) internal pure returns (uint144 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint152(uint _offst, bytes memory _input) internal pure returns (uint152 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint160(uint _offst, bytes memory _input) internal pure returns (uint160 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint168(uint _offst, bytes memory _input) internal pure returns (uint168 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint176(uint _offst, bytes memory _input) internal pure returns (uint176 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint184(uint _offst, bytes memory _input) internal pure returns (uint184 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint192(uint _offst, bytes memory _input) internal pure returns (uint192 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint200(uint _offst, bytes memory _input) internal pure returns (uint200 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint208(uint _offst, bytes memory _input) internal pure returns (uint208 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint216(uint _offst, bytes memory _input) internal pure returns (uint216 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint224(uint _offst, bytes memory _input) internal pure returns (uint224 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint232(uint _offst, bytes memory _input) internal pure returns (uint232 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint240(uint _offst, bytes memory _input) internal pure returns (uint240 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint248(uint _offst, bytes memory _input) internal pure returns (uint248 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - - function bytesToUint256(uint _offst, bytes memory _input) internal pure returns (uint256 _output) { - - assembly { - _output := mload(add(_input, _offst)) - } - } - -} diff --git a/contracts/Seriality/Seriality.sol b/contracts/Seriality/Seriality.sol deleted file mode 100644 index fb3dfa1..0000000 --- a/contracts/Seriality/Seriality.sol +++ /dev/null @@ -1,18 +0,0 @@ -pragma solidity ^0.4.16; - -/** - * @title Seriality - * @dev The Seriality contract is the main interface for serializing data using the TypeToBytes, BytesToType and SizeOf - * @author pouladzade@gmail.com - */ - -import "./BytesToTypes.sol"; -import "./TypesToBytes.sol"; -import "./SizeOf.sol"; - -contract Seriality is BytesToTypes, TypesToBytes, SizeOf { - - function Seriality() public { - - } -} diff --git a/contracts/Seriality/SizeOf.sol b/contracts/Seriality/SizeOf.sol deleted file mode 100644 index 2966abb..0000000 --- a/contracts/Seriality/SizeOf.sol +++ /dev/null @@ -1,74 +0,0 @@ -pragma solidity ^0.4.16; - -/** - * @title SizeOf - * @dev The SizeOf return the size of the solidity types in byte - * @author pouladzade@gmail.com - */ - -contract SizeOf { - - function sizeOfString(string _in) internal pure returns(uint _size){ - _size = bytes(_in).length / 32; - if(bytes(_in).length % 32 != 0) - _size++; - - _size++; // first 32 bytes is reserved for the size of the string - _size *= 32; - } - - function sizeOfInt(uint16 _postfix) internal pure returns(uint size){ - - assembly{ - switch _postfix - case 8 { size := 1 } - case 16 { size := 2 } - case 24 { size := 3 } - case 32 { size := 4 } - case 40 { size := 5 } - case 48 { size := 6 } - case 56 { size := 7 } - case 64 { size := 8 } - case 72 { size := 9 } - case 80 { size := 10 } - case 88 { size := 11 } - case 96 { size := 12 } - case 104 { size := 13 } - case 112 { size := 14 } - case 120 { size := 15 } - case 128 { size := 16 } - case 136 { size := 17 } - case 144 { size := 18 } - case 152 { size := 19 } - case 160 { size := 20 } - case 168 { size := 21 } - case 176 { size := 22 } - case 184 { size := 23 } - case 192 { size := 24 } - case 200 { size := 25 } - case 208 { size := 26 } - case 216 { size := 27 } - case 224 { size := 28 } - case 232 { size := 29 } - case 240 { size := 30 } - case 248 { size := 31 } - case 256 { size := 32 } - default { size := 32 } - } - - } - - function sizeOfUint(uint16 _postfix) internal pure returns(uint size){ - return sizeOfInt(_postfix); - } - - function sizeOfAddress() internal pure returns(uint8){ - return 20; - } - - function sizeOfBool() internal pure returns(uint8){ - return 1; - } - - -} diff --git a/contracts/Seriality/TypesToBytes.sol b/contracts/Seriality/TypesToBytes.sol deleted file mode 100644 index ae3c2fc..0000000 --- a/contracts/Seriality/TypesToBytes.sol +++ /dev/null @@ -1,87 +0,0 @@ -pragma solidity ^0.4.16; - -/** - * @title TypesToBytes - * @dev The TypesToBytes contract converts the standard solidity types to the byte array - * @author pouladzade@gmail.com - */ - -contract TypesToBytes { - - function TypesToBytes() internal { - - } - function addressToBytes(uint _offst, address _input, bytes memory _output) internal pure { - - assembly { - mstore(add(_output, _offst), _input) - } - } - function bytes16ToBytesR(uint _offst, bytes16 _input, bytes memory _output) internal { - - assembly { - let index := 0 - let size := 16 - loop: - mstore8(add(add(_output, _offst),add(16, index)), byte(index, _input)) - index := add(index ,1) - jumpi(loop , lt(index,size)) - } - } - function bytes32ToBytesR(uint _offst, bytes32 _input, bytes memory _output) internal { - - assembly { - let index := 0 - let size := 32 - loop: - mstore8(add(add(_output, _offst),index), byte(index, _input)) - index := add(index ,1) - jumpi(loop , lt(index,size)) - } - } - function bytes32ToBytes(uint _offst, bytes32 _input, bytes memory _output) internal { - - assembly { - mstore(add(_output, _offst), _input) - mstore(add(add(_output, _offst),32), add(_input,32)) - } - } - - function boolToBytes(uint _offst, bool _input, bytes memory _output) internal pure { - uint8 x = _input == false ? 0 : 1; - assembly { - mstore(add(_output, _offst), x) - } - } - - function stringToBytes(uint _offst, bytes memory _input, bytes memory _output) internal { - uint256 stack_size = _input.length / 32; - if(_input.length % 32 > 0) stack_size++; - - assembly { - let index := 0 - stack_size := add(stack_size,1)//adding because of 32 first bytes memory as the length - loop: - - mstore(add(_output, _offst), mload(add(_input,mul(index,32)))) - _offst := sub(_offst , 32) - index := add(index ,1) - jumpi(loop , lt(index,stack_size)) - } - } - - function intToBytes(uint _offst, int _input, bytes memory _output) internal pure { - - assembly { - mstore(add(_output, _offst), _input) - } - } - - function uintToBytes(uint _offst, uint _input, bytes memory _output) internal pure { - - assembly { - mstore(add(_output, _offst), _input) - } - } - -} diff --git a/contracts/nft-balances/DummyERC721Token.sol b/contracts/nft-balances/DummyERC721Token.sol deleted file mode 100644 index 45857ae..0000000 --- a/contracts/nft-balances/DummyERC721Token.sol +++ /dev/null @@ -1,28 +0,0 @@ -pragma solidity ^0.4.24; -contract DummyToken { - constructor() public { - owner = msg.sender; - tokens[4] = owner; - balances[owner] = 1; - } - function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable returns (bool success) { - require(tokens[_tokenId] == msg.sender && msg.sender == _from); - balances[msg.sender] -= 1; - balances[_to] += 1; - return true; - } - function ownerOf(uint256 _tokenId) external view returns (address) { - return tokens[_tokenId]; - } - function balanceOf(address _owner) public view returns (uint256 balance) { - return balances[_owner]; - } - function killMe() public { - selfdestruct(owner); - } - uint256 public totalSupply = 1; - address public owner; - mapping (address => uint256) balances; - mapping (uint256 => address) tokens; - mapping (address => mapping (address => uint256)) allowed; -} \ No newline at end of file diff --git a/contracts/nft-balances/NFTBalances.sol b/contracts/nft-balances/NFTBalances.sol deleted file mode 100644 index 6253a3b..0000000 --- a/contracts/nft-balances/NFTBalances.sol +++ /dev/null @@ -1,136 +0,0 @@ -pragma solidity ^0.4.24; -import "../Seriality/Seriality.sol"; -import "./DummyERC721Token.sol"; -contract NFTBalances is Seriality{ - constructor() public {} - modifier only_contract(address addr) { - uint32 size; - assembly { - size := extcodesize(addr) - } - require(size > 0, "Not a contract"); - _; - } - function getTokenBalance(address tokenAddr, address addr) public view returns (uint bal) { - bytes4 sig = bytes4(keccak256("balanceOf(address)")); - assembly { - // move pointer to free memory spot - let ptr := mload(0x40) - // put function sig at memory spot - mstore(ptr,sig) - // append argument after function sig - mstore(add(ptr,0x04), addr) - - let result := call( - 150000, // gas limit - tokenAddr, // to addr. append var to _slot to access storage variable - 0, // not transfer any ether - ptr, // Inputs are stored at location ptr - 0x24, // Inputs are 36 bytes long - ptr, //Store output over input - 0x20) //Outputs are 32 bytes long - - if iszero(result) { - bal := 0 // return 0 on error and 0 balance - } - if gt(result, 0) { - bal := mload(ptr) // Assign output to answer var - } - mstore(0x40,add(ptr,0x20)) // Set storage pointer to new space - } - } - function tokenOfOwnerByIndex(address tokenAddr, address owner, uint tokenId) public view returns (uint token) { - bytes4 sig = bytes4(keccak256("tokenOfOwnerByIndex(address,uint256)")); - assembly { - // move pointer to free memory spot - let ptr := mload(0x40) - // put function sig at memory spot - mstore(ptr,sig) - // append argument after function sig - mstore(add(ptr,0x04), owner) - // append argument after first parameter - mstore(add(ptr,0x24), tokenId) - - let result := call( - 150000, // gas limit - tokenAddr, // to addr. append var to _slot to access storage variable - 0, // not transfer any ether - ptr, // Inputs are stored at location ptr - 0x44, // Inputs are 36 bytes long - ptr, //Store output over input - 0x20) //Outputs are 32 bytes long - - if iszero(result) { - token := 0 // return 0 on error - } - if gt(result, 0) { - token := mload(ptr) // Assign output to answer var - } - mstore(0x40,add(ptr,0x20)) // Set storage pointer to new space - } - } - function getByteSize(uint number) public view returns(uint8) { - uint8 bitpos = 0; - while(number != 0){ - bitpos++; - number = number >> 1; - } - if(bitpos % 8 == 0) return (bitpos/8); - else return (bitpos/8)+1; - } - function getTokenBalances(address[] memory _tokenAddresses, address _owner) public view returns (bytes memory) { - uint bufferSize = 33; //define start + Data length - bufferSize += 32; //to save the itemcount - uint[] memory tokenBalances = new uint[](_tokenAddresses.length); - for(uint i = 0; i < _tokenAddresses.length; i++){ - tokenBalances[i] = getTokenBalance(_tokenAddresses[i], _owner); - bufferSize += 1; //save the bytesize - bufferSize += getByteSize(tokenBalances[i]); - } - bytes memory result = new bytes(bufferSize); - uint offset = bufferSize; - //serialize - boolToBytes(offset, true, result); - offset -= 1; - uintToBytes(offset, _tokenAddresses.length, result); - offset -= 32; - for(i = 0; i < _tokenAddresses.length; i++){ - uint8 numBytes = getByteSize(tokenBalances[i]); - uintToBytes(offset, numBytes, result); - offset -= 1; - uintToBytes(offset, tokenBalances[i], result); - offset -= numBytes; - } - return result; - } - function getOwnedTokens(address _tokenAddress, address _owner, uint idxOffset, uint count) public view only_contract(_tokenAddress) returns (bytes memory) { - uint bufferSize = 33; //define start + Data length - bufferSize += 32; //to save the itemcount - uint tokenBalance = getTokenBalance(_tokenAddress, _owner); - uint itemCount = count; - if((idxOffset+count)> tokenBalance) { - itemCount = tokenBalance - idxOffset; - } - uint[] memory ownedTokens = new uint[](itemCount); - for(uint i = 0; i < itemCount; i++){ - ownedTokens[i] = tokenOfOwnerByIndex(_tokenAddress, _owner, i+idxOffset); - bufferSize += 1; //save the bytesize - bufferSize += getByteSize(ownedTokens[i]); - } - bytes memory result = new bytes(bufferSize); - uint offset = bufferSize; - //serialize - boolToBytes(offset, true, result); - offset -= 1; - uintToBytes(offset, itemCount, result); - offset -= 32; - for(i = 0; i < itemCount; i++){ - uint8 numBytes = getByteSize(ownedTokens[i]); - uintToBytes(offset, numBytes, result); - offset -= 1; - uintToBytes(offset, ownedTokens[i], result); - offset -= numBytes; - } - return result; - } -} \ No newline at end of file diff --git a/contracts/token-balances/DummyContract.sol b/contracts/token-balances/DummyContract.sol index 3f94948..09cbb29 100644 --- a/contracts/token-balances/DummyContract.sol +++ b/contracts/token-balances/DummyContract.sol @@ -1,7 +1,10 @@ -pragma solidity ^0.4.24; +pragma solidity ^0.6.4; + + contract DummyContract { constructor() public {} - function add(uint a, uint b) public returns (uint) { - return a+b; + + function add(uint256 a, uint256 b) public pure returns (uint256) { + return a + b; } -} \ No newline at end of file +} diff --git a/contracts/token-balances/DummyToken.sol b/contracts/token-balances/DummyToken.sol index 26c7f8a..04e43b1 100644 --- a/contracts/token-balances/DummyToken.sol +++ b/contracts/token-balances/DummyToken.sol @@ -1,22 +1,32 @@ -pragma solidity ^0.4.24; +pragma solidity ^0.6.4; + + contract DummyToken { address public owner; + constructor(address addr) public { balances[addr] = 500000000000000; owner = msg.sender; } - function transfer(address _to, uint256 _value) public returns (bool success) { + + function transfer(address _to, uint256 _value) + public + returns (bool success) + { require(balances[msg.sender] >= _value, "low sender balance"); balances[msg.sender] -= _value; balances[_to] += _value; return true; } + function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } + function killMe() public { - selfdestruct(owner); + selfdestruct(payable(owner)); } - mapping (address => uint256) balances; - mapping (address => mapping (address => uint256)) allowed; -} \ No newline at end of file + + mapping(address => uint256) balances; + mapping(address => mapping(address => uint256)) allowed; +} diff --git a/contracts/token-balances/PublicTokens.sol b/contracts/token-balances/PublicTokens.sol index 706e46c..9817616 100644 --- a/contracts/token-balances/PublicTokens.sol +++ b/contracts/token-balances/PublicTokens.sol @@ -1,26 +1,31 @@ -pragma solidity ^0.4.24; +pragma solidity ^0.6.4; + + contract PublicTokens { - uint public tokenCount = 0; //total count of all added tokens - uint public tokenValidCount = 0; //count of all valid tokens isValid!=false + uint256 public tokenCount = 0; //total count of all added tokens + uint256 public tokenValidCount = 0; //count of all valid tokens isValid!=false address public owner; struct Token { bytes16 name; // Name of the token - bytes16 symbol; // Symbol of the token + bytes16 symbol; // Symbol of the token address addr; // Address of the token contract uint8 decimals; // decimals of the token - bytes32 website; // website of the token + bytes32 website; // website of the token bytes32 email; // support email of the token bool isValid; //whether the token is valid or not } - mapping(uint => Token) public pubTokens; + mapping(uint256 => Token) public pubTokens; mapping(address => bool) public moderator; - mapping(address => uint) public idMap; + mapping(address => uint256) public idMap; modifier owner_only() { require(owner == msg.sender, "only owner"); _; } modifier only_mod() { - require(owner == msg.sender || moderator[msg.sender] == true, "only moderetor"); + require( + owner == msg.sender || moderator[msg.sender] == true, + "only moderetor" + ); _; } modifier only_contract(address addr) { @@ -32,41 +37,65 @@ contract PublicTokens { _; } modifier no_null(address addr) { - require(addr != 0x0, "invalid address"); + require(addr != address(0), "invalid address"); _; } - constructor () public { + + constructor() public { owner = msg.sender; } + function addModerator(address addr) public owner_only { moderator[addr] = true; } + function removeModerator(address addr) public owner_only { moderator[addr] = false; } - function loadTokensFromContract(address addr, uint from, uint amount) public owner_only{ + + function loadTokensFromContract(address addr, uint256 from, uint256 amount) + public + owner_only + { PublicTokens pubT = PublicTokens(addr); - for(uint i = from; i < (from+amount); i++ ){ + for (uint256 i = from; i < (from + amount); i++) { Token memory token; - (token.name, token.symbol, token.addr, token.decimals, token.website, token.email, token.isValid) = pubT.pubTokens(i); - addSetToken(token.name, token.symbol, token.addr, token.decimals, token.website, token.email); + ( + token.name, + token.symbol, + token.addr, + token.decimals, + token.website, + token.email, + token.isValid + ) = pubT.pubTokens(i); + addSetToken( + token.name, + token.symbol, + token.addr, + token.decimals, + token.website, + token.email + ); } } + function addSetToken( - bytes16 name, - bytes16 symbol, - address addr, - uint8 decimals, - bytes32 website, - bytes32 email) public only_mod no_null(addr) only_contract(addr) { + bytes16 name, + bytes16 symbol, + address addr, + uint8 decimals, + bytes32 website, + bytes32 email + ) public only_mod no_null(addr) only_contract(addr) { Token storage token = pubTokens[idMap[addr]]; - if(token.addr == 0x0) { + if (token.addr == address(0)) { tokenCount++; tokenValidCount++; token = pubTokens[tokenCount]; idMap[addr] = tokenCount; token.isValid = true; - } + } token.name = name; token.symbol = symbol; token.addr = addr; @@ -74,50 +103,52 @@ contract PublicTokens { token.website = website; token.email = email; } + function disableToken(address addr) public only_mod no_null(addr) { Token storage token = pubTokens[idMap[addr]]; - if(token.addr == addr) { + if (token.addr == addr) { token.isValid = false; tokenValidCount--; - } + } } + function enableToken(address addr) public only_mod no_null(addr) { Token storage token = pubTokens[idMap[addr]]; - if(token.addr == addr) { + if (token.addr == addr) { token.isValid = true; tokenValidCount++; - } + } } - function getToken(address addr) public view returns ( - bytes16, - bytes16, - address, - uint8, - bytes32, - bytes32) { + + function getToken(address addr) + public + view + returns (bytes16, bytes16, address, uint8, bytes32, bytes32) + { Token memory token = pubTokens[idMap[addr]]; return ( - token.name, - token.symbol, - token.addr, - token.decimals, - token.website, - token.email); + token.name, + token.symbol, + token.addr, + token.decimals, + token.website, + token.email + ); } - function getTokenById(uint id) public view returns ( - bytes16, - bytes16, - address, - uint8, - bytes32, - bytes32) { + + function getTokenById(uint256 id) + public + view + returns (bytes16, bytes16, address, uint8, bytes32, bytes32) + { Token memory token = pubTokens[id]; return ( - token.name, - token.symbol, - token.addr, - token.decimals, - token.website, - token.email); + token.name, + token.symbol, + token.addr, + token.decimals, + token.website, + token.email + ); } -} \ No newline at end of file +} diff --git a/contracts/token-balances/TokenBalances.sol b/contracts/token-balances/TokenBalances.sol index c8d5a3c..3ed891e 100644 --- a/contracts/token-balances/TokenBalances.sol +++ b/contracts/token-balances/TokenBalances.sol @@ -1,121 +1,107 @@ -pragma solidity ^0.4.24; -import "../Seriality/Seriality.sol"; +pragma solidity ^0.6.4; +import "./Utils.sol"; import "./PublicTokens.sol"; import "./DummyToken.sol"; -contract TokenBalances is Seriality{ + + +contract TokenBalances is Utils { struct Token { bytes16 name; // Name of the token - bytes16 symbol; // Symbol of the token + bytes16 symbol; // Symbol of the token address addr; // Address of the token contract uint8 decimals; // decimals of the token - bytes32 website; // website of the token + bytes32 website; // website of the token bytes32 email; // support email of the token bool isValid; //whether the token is valid or not } PublicTokens pubT; + constructor(address tokenStorage) public { pubT = PublicTokens(tokenStorage); } - function getTokenStorage() public view returns (address){ - return pubT; - } - function isContract(address addr) internal view returns (bool) { - uint32 size; - assembly { - size := extcodesize(addr) - } - return size > 0; - } - function getToken(uint id) internal view returns (Token token) { - (token.name, token.symbol, token.addr, token.decimals, token.website, token.email, token.isValid) = pubT.pubTokens(id); - } - function getTokenBalance(address tokenAddr, address addr) public view returns (uint bal) { - bytes4 sig = bytes4(keccak256("balanceOf(address)")); - assembly { - // move pointer to free memory spot - let ptr := mload(0x40) - // put function sig at memory spot - mstore(ptr,sig) - // append argument after function sig - mstore(add(ptr,0x04), addr) - let result := call( - 150000, // gas limit - tokenAddr, // to addr. append var to _slot to access storage variable - 0, // not transfer any ether - ptr, // Inputs are stored at location ptr - 0x24, // Inputs are 36 bytes long - ptr, //Store output over input - 0x20) //Outputs are 32 bytes long + function getTokenStorage() public view returns (address) { + return address(pubT); + } - if iszero(result) { - bal := 0 // return 0 on error and 0 balance - } - if gt(result, 0) { - bal := mload(ptr) // Assign output to answer var - } - mstore(0x40,add(ptr,0x20)) // Set storage pointer to new space - } + function getToken(uint256 id) internal view returns (Token memory token) { + ( + token.name, + token.symbol, + token.addr, + token.decimals, + token.website, + token.email, + token.isValid + ) = pubT.pubTokens(id); } - function getAllBalance(address _owner, bool name, bool website, bool email, uint _count) public view returns (bytes) { - uint count; - address tOwner = _owner; - if(_count == 0) count = pubT.tokenCount(); - else count = _count; - bool[] memory validTokens = new bool[](count+1); - uint bufferSize = 33; //assign 32 bytes to set the total number of tokens + define start + + function numBytesEstimate( + uint256 tokenCount, + bool name, + bool email, + bool website + ) internal pure returns (uint256) { + uint256 bufferSize = 32 + 32; //set total number of bytes, total number of validTokens at the end bufferSize += 3; //set name, website, email - uint countValidTokens = 0; - for(uint i = 1; i <= count; i++){ + uint256 iterCount = 0; + if (name) iterCount += 32; + if (website) iterCount += 32; + if (email) iterCount += 32; + iterCount += 69; + return bufferSize + iterCount * tokenCount; + } + + function getAllBalance(address _owner, bool name, bool website, bool email) + public + returns (bytes memory) + { + uint256 count = pubT.tokenCount(); + uint256 estimatedBufferSize = numBytesEstimate( + count, + name, + email, + website + ); + bytes memory result = new bytes(estimatedBufferSize); + uint256 offset = 32 + 32; //set total number of bytes, total number of validTokens at the end + copyBool(offset, name, result); + offset += 1; + copyBool(offset, website, result); + offset += 1; + copyBool(offset, email, result); + offset += 1; + uint256 numValidTokens = 0; + for (uint256 i = 1; i <= count; i++) { Token memory token = getToken(i); - if(token.isValid && isContract(token.addr)){ - validTokens[i] = true; - countValidTokens++; - if(name) bufferSize += 16; - if(website) bufferSize += 32; - if(email) bufferSize += 32; - bufferSize += 69; // address (20) + symbol(16) + balance(32) + decimals(1) - } else { - validTokens[i] = false; + if (token.isValid && isContract(token.addr)) { + uint256 balance = getTokenBalance(token.addr, _owner); + if (balance == 0) continue; + numValidTokens++; + copyBytes16(offset, token.symbol, result); + offset += 16; + copyAddress(offset, token.addr, result); + offset += 20; + copyUint8(offset, token.decimals, result); + offset += 1; + copyUint(offset, balance, result); + offset += 32; + if (name) { + copyBytes16(offset, token.name, result); + offset += 16; + } + if (website) { + copyBytes32(offset, token.website, result); + offset += 32; + } + if (email) { + copyBytes32(offset, token.email, result); + offset += 32; + } } } - bytes memory result = new bytes(bufferSize); - uint offset = bufferSize; - //serialize - boolToBytes(offset, true, result); - offset -= 1; - uintToBytes(offset, countValidTokens, result); - offset -= 32; - boolToBytes(offset, name, result); - offset -= 1; - boolToBytes(offset, website, result); - offset -= 1; - boolToBytes(offset, email, result); - offset -= 1; - for(i = 1; i <= count; i++){ - if(!validTokens[i]) continue; - token = getToken(i); - bytes16ToBytesR(offset, token.symbol, result); - offset -= 16; - addressToBytes(offset, token.addr, result); - offset -= 20; - uintToBytes(offset, token.decimals, result); - offset -= 1; - uintToBytes(offset, getTokenBalance(token.addr, tOwner), result); - offset -= 32; - if(name){ - bytes16ToBytesR(offset, token.name, result); - offset -= 16; - } - if(website) { - bytes32ToBytesR(offset, token.website, result); - offset -= 32; - } - if(email) { - bytes32ToBytesR(offset, token.email, result); - offset -= 32; - } - } + copyUint(0, offset - 32, result); + copyUint(32, numValidTokens, result); return result; } -} \ No newline at end of file +} diff --git a/contracts/token-balances/Utils.sol b/contracts/token-balances/Utils.sol new file mode 100644 index 0000000..9ca7438 --- /dev/null +++ b/contracts/token-balances/Utils.sol @@ -0,0 +1,132 @@ +pragma solidity ^0.6.4; + + +contract Utils { + function isContract(address addr) public view returns (bool) { + uint32 size; + assembly { + size := extcodesize(addr) + } + return size > 0; + } + + function memcpy( + bytes memory src, + uint256 _offst, + uint256 len, + bytes memory result + ) public pure { + uint256 srcOffst = 0; + for (; len >= 32; len -= 32) { + assembly { + mstore(add(result, _offst), mload(add(src, srcOffst))) + } + _offst += 32; + srcOffst += 32; + } + if (len == 0) return; + uint256 mask = 256**(32 - len) - 1; + assembly { + let srcpart := and(mload(add(srcOffst, src)), not(mask)) + let destpart := and(mload(add(result, _offst)), mask) + mstore(add(result, _offst), srcpart) + } + } + + function copyBool(uint256 _offst, bool _input, bytes memory result) + public + pure + { + uint8 x = _input == false ? 0 : 1; + assembly { + mstore8(add(_offst, result), x) + } + } + + function copyBytes16(uint256 _offst, bytes16 _input, bytes memory result) + public + pure + { + bytes memory b = new bytes(16); + assembly { + mstore(b, _input) + } + memcpy(b, _offst, 16, result); + } + + function copyBytes32(uint256 _offst, bytes32 _input, bytes memory result) + public + pure + { + bytes memory b = new bytes(32); + assembly { + mstore(b, _input) + } + memcpy(b, _offst, 32, result); + } + + function copyUint(uint256 _offst, uint256 _input, bytes memory result) + public + pure + { + bytes memory b = new bytes(32); + assembly { + mstore(b, _input) + } + memcpy(b, _offst, 32, result); + } + + function copyUint8(uint256 _offst, uint8 _input, bytes memory result) + public + pure + { + assembly { + mstore8(add(_offst, result), _input) + } + } + + function copyAddress(uint256 _offst, address _input, bytes memory result) + public + pure + { + bytes memory b = new bytes(32); + bytes32 _address = bytes32(uint256(_input) << 96); + assembly { + mstore(b, _address) + } + memcpy(b, _offst, 20, result); + } + + function getTokenBalance(address tokenAddr, address addr) + public + returns (uint256 bal) + { + bytes4 sig = bytes4(keccak256("balanceOf(address)")); + assembly { + // move pointer to free memory spot + let ptr := mload(0x40) + // put function sig at memory spot + mstore(ptr, sig) + // append argument after function sig + mstore(add(ptr, 0x04), addr) + + let result := call( + 150000, // gas limit + tokenAddr, // to addr. append var to _slot to access storage variable + 0, // not transfer any ether + ptr, // Inputs are stored at location ptr + 0x24, // Inputs are 36 bytes long + ptr, //Store output over input + 0x20 + ) //Outputs are 32 bytes long + + if iszero(result) { + bal := 0 // return 0 on error and 0 balance + } + if gt(result, 0) { + bal := mload(ptr) // Assign output to answer var + } + mstore(0x40, add(ptr, 0x20)) // Set storage pointer to new space + } + } +} diff --git a/migrations/1_initial_migration.js b/migrations/1_initial_migration.js index 4d5f3f9..16a7ba5 100644 --- a/migrations/1_initial_migration.js +++ b/migrations/1_initial_migration.js @@ -1,5 +1,5 @@ -var Migrations = artifacts.require("./Migrations.sol"); +const Migrations = artifacts.require("Migrations"); -module.exports = function(deployer) { +module.exports = function (deployer) { deployer.deploy(Migrations); }; diff --git a/migrations/2_deploy_contracts.js b/migrations/2_deploy_contracts.js index 48f773e..b6145bf 100644 --- a/migrations/2_deploy_contracts.js +++ b/migrations/2_deploy_contracts.js @@ -7,36 +7,25 @@ var DT2 = artifacts.require("DummyToken"); var DT3 = artifacts.require("DummyToken"); var DC = artifacts.require("DummyContract"); var ethTokens = require("../tokens/tokens-eth.json"); -var getHex = str => { +var getHex = (str) => { return "0x" + Buffer.from(str, "utf8").toString("hex"); }; -module.exports = function(deployer, network, accounts) { +module.exports = async (deployer, network, accounts) => { if (network == "development") { - deployer - .deploy(PublicTokens) - .then(function() { - return PublicTokens.deployed(); - }) - .then(function(pt) { - return deployer - .deploy([[DT1, accounts[0]], [DT2, accounts[1]], [DT3, accounts[2]]]) - .then(function() { - return [DT1.deployed(), DT2.deployed(), DT3.deployed()]; - }) - .then(function(dTokens) { - return deployer.deploy(TokenBalances, pt.address).then(function() { - return deployer.deploy(DC); - }); - }); - }); + await deployer.deploy(PublicTokens); + const pt = await PublicTokens.deployed(); + await deployer.deploy(DT1, accounts[0]); + await deployer.deploy(DT2, accounts[1]); + await deployer.deploy(DT3, accounts[2]); + await deployer.deploy(TokenBalances, pt.address); } else if (network == "live") { deployer .deploy(PublicTokens) - .then(function() { + .then(function () { return PublicTokens.deployed({ gas: "0x7a120" }); }) - .then(function(pt) { - ethTokens.forEach(async _token => { + .then(function (pt) { + ethTokens.forEach(async (_token) => { try { await pt.addSetToken( getHex(_token.name.substr(0, 16)), @@ -52,17 +41,17 @@ module.exports = function(deployer, network, accounts) { } }); }) - .then(function() { + .then(function () { deployer.deploy(TokenBalances, pt.address); }); } else if (network == "ropsten") { deployer .deploy(PublicTokens) - .then(function() { + .then(function () { return PublicTokens.deployed({ gas: "0x7a120" }); }) - .then(function(pt) { - ethTokens.forEach(async _token => { + .then(function (pt) { + ethTokens.forEach(async (_token) => { try { await pt.addSetToken( getHex(_token.name.substr(0, 16)), diff --git a/package-lock.json b/package-lock.json index 56ccf09..c324407 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,48 +4,2394 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "10.17.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.21.tgz", + "integrity": "sha512-PQKsydPxYxF1DsAFWmunaxd3sOi3iMt6Zmx/tgaagHYmwJ/9cRH91hQkeJZaUGWbvn0K5HlSVEXkn5U/llWPpQ==" + }, + "@web3-js/scrypt-shim": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@web3-js/scrypt-shim/-/scrypt-shim-0.1.0.tgz", + "integrity": "sha512-ZtZeWCc/s0nMcdx/+rZwY1EcuRdemOK9ag21ty9UsHkFxsNb/AaoucUz0iPuyGe0Ku+PFuRmWZG7Z7462p9xPw==", + "requires": { + "scryptsy": "^2.1.0", + "semver": "^6.3.0" + } + }, + "@web3-js/websocket": { + "version": "1.0.30", + "resolved": "https://registry.npmjs.org/@web3-js/websocket/-/websocket-1.0.30.tgz", + "integrity": "sha512-fDwrD47MiDrzcJdSeTLF75aCcxVVt8B1N74rA+vh2XCAvFy4tEWJjtnUtj2QG7/zlQ6g9cQ88bZFBxwd9/FmtA==", + "requires": { + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "nan": "^2.14.0", + "typedarray-to-buffer": "^3.1.5", + "yaeti": "^0.0.6" + } + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + }, + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, "bignumber.js": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-6.0.0.tgz", "integrity": "sha512-x247jIuy60/+FtMRvscqfxtVHQf8AGx2hm9c6btkgC0x/hp9yt+teISNhvF8WlwRkCc5yF2fDECH8SIMe8j+GA==" }, - "crypto-js": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz", - "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU=" + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bip66": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", + "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "drbg.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", + "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", + "requires": { + "browserify-aes": "^1.0.6", + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "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" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", + "requires": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + }, + "dependencies": { + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + } + } + }, + "eth-lib": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", + "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" + } + }, + "ethereum-bloom-filters": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.7.tgz", + "integrity": "sha512-cDcJJSJ9GMAcURiAWO3DxIEhTL/uWqlQnvgKpuYQzYPrt/izuGU+1ntQmHt0IRq6ADoSYHFnB+aCEFIldjhkMQ==", + "requires": { + "js-sha3": "^0.8.0" + } + }, + "ethereumjs-common": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz", + "integrity": "sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ==" + }, + "ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "requires": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "ethereumjs-util": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", + "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "ethjs-util": "0.1.6", + "keccak": "^2.0.0", + "rlp": "^2.2.3", + "secp256k1": "^3.0.1" + } + }, + "ethers": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.3.tgz", + "integrity": "sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog==", + "requires": { + "@types/node": "^10.3.2", + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.3.3", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.3", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "elliptic": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" + } + } + }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "requires": { + "minipass": "^2.6.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "requires": { + "punycode": "2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" + } + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keccak": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", + "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", + "requires": { + "bindings": "^1.5.0", + "inherits": "^2.0.4", + "nan": "^2.14.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + } + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", + "requires": { + "mkdirp": "*" + } + }, + "mock-fs": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.12.0.tgz", + "integrity": "sha512-/P/HtrlvBxY4o/PzXY9cCNBrdylDNxg7gnrv2sMNxj+UJ2m8jSpl0/A6fuJeNAWr99ZvGWH8XCbE0vmnM5KupQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" }, - "utf8": { + "nano-json-stream-parser": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", + "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, + "number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", + "requires": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "oboe": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", + "integrity": "sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY=", + "requires": { + "http-https": "^1.0.0" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "^1.0.0" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-headers": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + } + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rlp": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.4.tgz", + "integrity": "sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw==", + "requires": { + "bn.js": "^4.11.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", - "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "scrypt-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", + "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" + }, + "scryptsy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", + "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" + }, + "secp256k1": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", + "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "requires": { + "bindings": "^1.5.0", + "bip66": "^1.1.5", + "bn.js": "^4.11.8", + "create-hash": "^1.2.0", + "drbg.js": "^1.0.1", + "elliptic": "^6.5.2", + "nan": "^2.14.0", + "safe-buffer": "^5.1.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "requires": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + }, + "simple-get": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "swarm-js": { + "version": "0.1.40", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", + "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", + "requires": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request": "^1.0.1" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } }, "web3": { - "version": "0.20.6", - "resolved": "https://registry.npmjs.org/web3/-/web3-0.20.6.tgz", - "integrity": "sha1-PpcwauAk+yThCj11yIQwJWIhUSA=", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.7.tgz", + "integrity": "sha512-jAAJHMfUlTps+jH2li1ckDFEpPrEEriU/ubegSTGRl3KRdNhEqT93+3kd7FHJTn3NgjcyURo2+f7Da1YcZL8Mw==", + "requires": { + "web3-bzz": "1.2.7", + "web3-core": "1.2.7", + "web3-eth": "1.2.7", + "web3-eth-personal": "1.2.7", + "web3-net": "1.2.7", + "web3-shh": "1.2.7", + "web3-utils": "1.2.7" + } + }, + "web3-bzz": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.7.tgz", + "integrity": "sha512-iTIWBR+Z+Bn09WprtKm46LmyNOasg2lUn++AjXkBTB8UNxlUybxtza84yl2ETTZUs0zuFzdSSAEgbjhygG+9oA==", "requires": { - "bignumber.js": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934", - "crypto-js": "^3.1.4", - "utf8": "^2.1.1", - "xhr2": "*", - "xmlhttprequest": "*" + "@types/node": "^10.12.18", + "got": "9.6.0", + "swarm-js": "^0.1.40", + "underscore": "1.9.1" + } + }, + "web3-core": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.7.tgz", + "integrity": "sha512-QA0MTae0gXcr3KHe3cQ4x56+Wh43ZKWfMwg1gfCc3NNxPRM1jJ8qudzyptCAUcxUGXWpDG8syLIn1APDz5J8BQ==", + "requires": { + "@types/bn.js": "^4.11.4", + "@types/node": "^12.6.1", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.2.7", + "web3-core-method": "1.2.7", + "web3-core-requestmanager": "1.2.7", + "web3-utils": "1.2.7" }, "dependencies": { + "@types/node": { + "version": "12.12.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.37.tgz", + "integrity": "sha512-4mXKoDptrXAwZErQHrLzpe0FN/0Wmf5JRniSVIdwUrtDf9wnmEV1teCNLBo/TwuXhkK/bVegoEn/wmb+x0AuPg==" + }, "bignumber.js": { - "version": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934", - "from": "git+https://github.com/frozeman/bignumber.js-nolookahead.git" + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" } } }, - "xhr2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz", - "integrity": "sha1-f4dliEdxbbUCYyOBL4GMras4el8=" + "web3-core-helpers": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.7.tgz", + "integrity": "sha512-bdU++9QATGeCetVrMp8pV97aQtVkN5oLBf/TWu/qumC6jK/YqrvLlBJLdwbz0QveU8zOSap6GCvJbqKvmmbV2A==", + "requires": { + "underscore": "1.9.1", + "web3-eth-iban": "1.2.7", + "web3-utils": "1.2.7" + } + }, + "web3-core-method": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.7.tgz", + "integrity": "sha512-e1TI0QUnByDMbQ8QHwnjxfjKw0LIgVRY4TYrlPijET9ebqUJU1HCayn/BHIMpV6LKyR1fQj9EldWyT64wZQXkg==", + "requires": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.7", + "web3-core-promievent": "1.2.7", + "web3-core-subscriptions": "1.2.7", + "web3-utils": "1.2.7" + } + }, + "web3-core-promievent": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.7.tgz", + "integrity": "sha512-jNmsM/czCeMGQqKKwM9/HZVTJVIF96hdMVNN/V9TGvp+EEE7vDhB4pUocDnc/QF9Z/5QFBCVmvNWttlRgZmU0A==", + "requires": { + "eventemitter3": "3.1.2" + } + }, + "web3-core-requestmanager": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.7.tgz", + "integrity": "sha512-HJb/txjHixu1dxIebiZQKBoJCaNu4gsh7mq/uj6Z/w6tIHbybL90s/7ADyMED353yyJ2tDWtYJqeMVAR+KtdaA==", + "requires": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.7", + "web3-providers-http": "1.2.7", + "web3-providers-ipc": "1.2.7", + "web3-providers-ws": "1.2.7" + } + }, + "web3-core-subscriptions": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.7.tgz", + "integrity": "sha512-W/CzQYOUawdMDvkgA/fmLsnG5aMpbjrs78LZMbc0MFXLpH3ofqAgO2by4QZrrTShUUTeWS0ZuEkFFL/iFrSObw==", + "requires": { + "eventemitter3": "3.1.2", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.7" + } + }, + "web3-eth": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.7.tgz", + "integrity": "sha512-ljLd0oB4IjWkzFGVan4HkYhJXhSXgn9iaSaxdJixKGntZPgWMJfxeA+uLwTrlxrWzhvy4f+39WnT7wCh5e9TGg==", + "requires": { + "underscore": "1.9.1", + "web3-core": "1.2.7", + "web3-core-helpers": "1.2.7", + "web3-core-method": "1.2.7", + "web3-core-subscriptions": "1.2.7", + "web3-eth-abi": "1.2.7", + "web3-eth-accounts": "1.2.7", + "web3-eth-contract": "1.2.7", + "web3-eth-ens": "1.2.7", + "web3-eth-iban": "1.2.7", + "web3-eth-personal": "1.2.7", + "web3-net": "1.2.7", + "web3-utils": "1.2.7" + } + }, + "web3-eth-abi": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.7.tgz", + "integrity": "sha512-4FnlT1q+D0XBkxSMXlIb/eG337uQeMaUdtVQ4PZ3XzxqpcoDuMgXm4o+3NRxnWmr4AMm6QKjM+hcC7c0mBKcyg==", + "requires": { + "ethers": "4.0.0-beta.3", + "underscore": "1.9.1", + "web3-utils": "1.2.7" + } + }, + "web3-eth-accounts": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.7.tgz", + "integrity": "sha512-AE7QWi/iIQIjXwlAPtlMabm/OPFF0a1PhxT1EiTckpYNP8fYs6jW7lYxEtJPPJIKqfMjoi1xkEqTVR1YZQ88lg==", + "requires": { + "@web3-js/scrypt-shim": "^0.1.0", + "crypto-browserify": "3.12.0", + "eth-lib": "^0.2.8", + "ethereumjs-common": "^1.3.2", + "ethereumjs-tx": "^2.1.1", + "underscore": "1.9.1", + "uuid": "3.3.2", + "web3-core": "1.2.7", + "web3-core-helpers": "1.2.7", + "web3-core-method": "1.2.7", + "web3-utils": "1.2.7" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + } + } + }, + "web3-eth-contract": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.7.tgz", + "integrity": "sha512-uW23Y0iL7XroRNbf9fWZ1N6OYhEYTJX8gTuYASuRnpYrISN5QGiQML6pq/NCzqypR1bl5E0fuINZQSK/xefIVw==", + "requires": { + "@types/bn.js": "^4.11.4", + "underscore": "1.9.1", + "web3-core": "1.2.7", + "web3-core-helpers": "1.2.7", + "web3-core-method": "1.2.7", + "web3-core-promievent": "1.2.7", + "web3-core-subscriptions": "1.2.7", + "web3-eth-abi": "1.2.7", + "web3-utils": "1.2.7" + } + }, + "web3-eth-ens": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.7.tgz", + "integrity": "sha512-SPRnvUNWQ0CnnTDBteGIJkvFWEizJcAHlVsrFLICwcwFZu+appjX1UOaoGu2h3GXWtc/XZlu7B451Gi+Os2cTg==", + "requires": { + "eth-ens-namehash": "2.0.8", + "underscore": "1.9.1", + "web3-core": "1.2.7", + "web3-core-helpers": "1.2.7", + "web3-core-promievent": "1.2.7", + "web3-eth-abi": "1.2.7", + "web3-eth-contract": "1.2.7", + "web3-utils": "1.2.7" + } + }, + "web3-eth-iban": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.7.tgz", + "integrity": "sha512-2NrClz1PoQ3nSJBd+91ylCOVga9qbTxjRofq/oSCoHVAEvz3WZyttx9k5DC+0rWqwJF1h69ufFvdHAAlmN/4lg==", + "requires": { + "bn.js": "4.11.8", + "web3-utils": "1.2.7" + } + }, + "web3-eth-personal": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.7.tgz", + "integrity": "sha512-2OAa1Spz0uB29dwCM8+1y0So7E47A4gKznjBEwXIYEcUIsvwT5X7ofFhC2XxyRpqlIWZSQAxRSSJFyupRRXzyw==", + "requires": { + "@types/node": "^12.6.1", + "web3-core": "1.2.7", + "web3-core-helpers": "1.2.7", + "web3-core-method": "1.2.7", + "web3-net": "1.2.7", + "web3-utils": "1.2.7" + }, + "dependencies": { + "@types/node": { + "version": "12.12.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.37.tgz", + "integrity": "sha512-4mXKoDptrXAwZErQHrLzpe0FN/0Wmf5JRniSVIdwUrtDf9wnmEV1teCNLBo/TwuXhkK/bVegoEn/wmb+x0AuPg==" + } + } + }, + "web3-net": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.7.tgz", + "integrity": "sha512-j9qeZrS1FNyCeA0BfdLojkxOZQz3FKa1DJI+Dw9fEVhZS68vLOFANu2RB96gR9BoPHo5+k5D3NsKOoxt1gw3Gg==", + "requires": { + "web3-core": "1.2.7", + "web3-core-method": "1.2.7", + "web3-utils": "1.2.7" + } + }, + "web3-providers-http": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.7.tgz", + "integrity": "sha512-vazGx5onuH/zogrwkUaLFJwFcJ6CckP65VFSHoiV+GTQdkOqgoDIha7StKkslvDz4XJ2FuY/zOZHbtuOYeltXQ==", + "requires": { + "web3-core-helpers": "1.2.7", + "xhr2-cookies": "1.1.0" + } + }, + "web3-providers-ipc": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.7.tgz", + "integrity": "sha512-/zc0y724H2zbkV4UbGGMhsEiLfafjagIzfrsWZnyTZUlSB0OGRmmFm2EkLJAgtXrLiodaHHyXKM0vB8S24bxdA==", + "requires": { + "oboe": "2.1.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.7" + } + }, + "web3-providers-ws": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.7.tgz", + "integrity": "sha512-b5XzqDpRkNVe6MFs5K6iqOEyjQikHtg3KuU2/ClCDV37hm0WN4xCRVMC0LwegulbDXZej3zT9+1CYzGaGFREzA==", + "requires": { + "@web3-js/websocket": "^1.0.29", + "eventemitter3": "^4.0.0", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.7" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" + } + } + }, + "web3-shh": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.7.tgz", + "integrity": "sha512-f6PAgcpG0ZAo98KqCmeHoDEx5qzm3d5plet18DkT4U6WIeYowKdec8vZaLPRR7c2XreXFJ2gQf45CB7oqR7U/w==", + "requires": { + "web3-core": "1.2.7", + "web3-core-method": "1.2.7", + "web3-core-subscriptions": "1.2.7", + "web3-net": "1.2.7" + } + }, + "web3-utils": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.7.tgz", + "integrity": "sha512-FBh/CPJND+eiPeUF9KVbTyTZtXNWxPWtByBaWS6e2x4ACazPX711EeNaZaChIOGSLGe6se2n7kg6wnawe/MjuQ==", + "requires": { + "bn.js": "4.11.8", + "eth-lib": "0.2.7", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.9.1", + "utf8": "3.0.0" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "xhr": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", + "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xhr-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "requires": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "xhr-request-promise": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", + "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", + "requires": { + "xhr-request": "^1.1.0" + } + }, + "xhr2-cookies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", + "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", + "requires": { + "cookiejar": "^2.1.1" + } }, "xmlhttprequest": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } } diff --git a/package.json b/package.json index c117ed3..9a38c54 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "bignumber.js": "^6.0.0", - "web3": "^0.20.6" + "web3": "^1.2.6" }, "devDependencies": {}, "scripts": { diff --git a/packages/eth-token-balance/dist/abi.js b/packages/eth-token-balance/dist/abi.js index 23e19ee..7fe9d30 100644 --- a/packages/eth-token-balance/dist/abi.js +++ b/packages/eth-token-balance/dist/abi.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; +exports["default"] = void 0; var _default = [{ constant: true, inputs: [{ @@ -31,4 +31,4 @@ var _default = [{ stateMutability: "view", type: "function" }]; -exports.default = _default; \ No newline at end of file +exports["default"] = _default; \ No newline at end of file diff --git a/packages/eth-token-balance/dist/abiNFT.js b/packages/eth-token-balance/dist/abiNFT.js index c89c902..b7cb1f2 100644 --- a/packages/eth-token-balance/dist/abiNFT.js +++ b/packages/eth-token-balance/dist/abiNFT.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; +exports["default"] = void 0; var _default = [{ inputs: [], payable: false, @@ -101,4 +101,4 @@ var _default = [{ stateMutability: "view", type: "function" }]; -exports.default = _default; \ No newline at end of file +exports["default"] = _default; \ No newline at end of file diff --git a/packages/eth-token-balance/dist/binaryDecoder.js b/packages/eth-token-balance/dist/binaryDecoder.js index a00fdae..0807804 100644 --- a/packages/eth-token-balance/dist/binaryDecoder.js +++ b/packages/eth-token-balance/dist/binaryDecoder.js @@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; +exports["default"] = void 0; var _bignumber = _interopRequireDefault(require("bignumber.js")); var _web = _interopRequireDefault(require("web3")); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var sizeHex = function sizeHex(bytes) { return bytes * 2; @@ -21,7 +21,7 @@ function trim(str) { function getAscii(hex) { hex = hex.substring(0, 2) == "0x" ? hex : "0x" + hex; - return trim(_web.default.utils.toAscii(hex)); + return trim(_web["default"].utils.toAscii(hex)); } var _default = function _default(hex) { @@ -38,7 +38,7 @@ var _default = function _default(hex) { var isWebSite = parseInt(hex.substr(offset, sizeHex(1))); offset -= sizeHex(1); var isEmail = parseInt(hex.substr(offset, sizeHex(1))); - var numTokens = new _bignumber.default("0x" + countTokens).toNumber(); + var numTokens = new _bignumber["default"]("0x" + countTokens).toNumber(); for (var i = 0; i < numTokens; i++) { var token = {}; @@ -47,9 +47,9 @@ var _default = function _default(hex) { offset -= sizeHex(20); token.addr = "0x" + hex.substr(offset, sizeHex(20)); offset -= sizeHex(1); - token.decimals = new _bignumber.default("0x" + hex.substr(offset, sizeHex(1))).toNumber(); + token.decimals = new _bignumber["default"]("0x" + hex.substr(offset, sizeHex(1))).toNumber(); offset -= sizeHex(32); - token.balance = new _bignumber.default("0x" + hex.substr(offset, sizeHex(32))).toFixed(); + token.balance = new _bignumber["default"]("0x" + hex.substr(offset, sizeHex(32))).toFixed(); if (isName) { offset -= sizeHex(16); @@ -72,4 +72,4 @@ var _default = function _default(hex) { return tokens; }; -exports.default = _default; \ No newline at end of file +exports["default"] = _default; \ No newline at end of file diff --git a/packages/eth-token-balance/dist/binaryDecoderNFT.js b/packages/eth-token-balance/dist/binaryDecoderNFT.js index 76bf94d..4c04a5c 100644 --- a/packages/eth-token-balance/dist/binaryDecoderNFT.js +++ b/packages/eth-token-balance/dist/binaryDecoderNFT.js @@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; +exports["default"] = void 0; var _bignumber = _interopRequireDefault(require("bignumber.js")); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var sizeHex = function sizeHex(bytes) { return bytes * 2; @@ -19,17 +19,17 @@ var _default = function _default(hex) { var offset = hex.length; offset -= sizeHex(32); - var numValues = new _bignumber.default("0x" + hex.substr(offset, sizeHex(32))).toNumber(); + var numValues = new _bignumber["default"]("0x" + hex.substr(offset, sizeHex(32))).toNumber(); var values = []; for (var i = 0; i < numValues; i++) { offset -= sizeHex(1); - var numBytes = new _bignumber.default("0x" + hex.substr(offset, sizeHex(1))).toNumber(); + var numBytes = new _bignumber["default"]("0x" + hex.substr(offset, sizeHex(1))).toNumber(); offset -= sizeHex(numBytes); - values.push(new _bignumber.default("0x" + hex.substr(offset, sizeHex(numBytes)))); + values.push(new _bignumber["default"]("0x" + hex.substr(offset, sizeHex(numBytes)))); } return values; }; -exports.default = _default; \ No newline at end of file +exports["default"] = _default; \ No newline at end of file diff --git a/packages/eth-token-balance/dist/index.js b/packages/eth-token-balance/dist/index.js index 5700689..2abf8cb 100644 --- a/packages/eth-token-balance/dist/index.js +++ b/packages/eth-token-balance/dist/index.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = void 0; +exports["default"] = void 0; var _binaryDecoder = _interopRequireDefault(require("./binaryDecoder")); @@ -11,7 +11,7 @@ var _abi = _interopRequireDefault(require("./abi")); var _web = _interopRequireDefault(require("web3")); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -37,8 +37,8 @@ function () { ethProvider = ethProvider.currentProvider; } - this.web3 = new _web.default(ethProvider); - this.tokenContract = new this.web3.eth.Contract(_abi.default); + this.web3 = new _web["default"](ethProvider); + this.tokenContract = new this.web3.eth.Contract(_abi["default"]); this.tokenPromise = new Promise(function (resolve, reject) { _this.web3.eth.net.getId().then(function (version) { if (!contractAddress[version]) { @@ -60,12 +60,13 @@ function () { var website = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; var email = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; var count = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; + var extraParams = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; return new Promise(function (resolve, reject) { _this2.tokenPromise.then(function () { - _this2.tokenContract.methods.getAllBalance(address, name, website, email, count).call().then(function (res) { - resolve((0, _binaryDecoder.default)(res)); - }).catch(reject); - }).catch(reject); + _this2.tokenContract.methods.getAllBalance(address, name, website, email, count).call(extraParams).then(function (res) { + resolve((0, _binaryDecoder["default"])(res)); + })["catch"](reject); + })["catch"](reject); }); } }]); @@ -74,4 +75,4 @@ function () { }(); var _default = TokenBalance; -exports.default = _default; \ No newline at end of file +exports["default"] = _default; \ No newline at end of file diff --git a/packages/eth-token-balance/dist/test.js b/packages/eth-token-balance/dist/test.js index 76bdc65..4997f70 100644 --- a/packages/eth-token-balance/dist/test.js +++ b/packages/eth-token-balance/dist/test.js @@ -4,10 +4,10 @@ var _index = _interopRequireDefault(require("./index")); var _web = _interopRequireDefault(require("web3")); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -var web3 = new _web.default("wss://ws-eth.mewapi.io"); -var tb = new _index.default(web3.currentProvider); +var web3 = new _web["default"]("https://ethrpc.mewapi.io"); +var tb = new _index["default"](web3.currentProvider); tb.getBalance("0xDECAF9CD2367cdbb726E904cD6397eDFcAe6068D").then(function (balances) { balances.forEach(function (element) { if (element.symbol === "REP") console.log(element); diff --git a/packages/eth-token-balance/dist/testNFT.js b/packages/eth-token-balance/dist/testNFT.js index ed1a443..9ed58d9 100644 --- a/packages/eth-token-balance/dist/testNFT.js +++ b/packages/eth-token-balance/dist/testNFT.js @@ -6,20 +6,20 @@ var _abiNFT = _interopRequireDefault(require("./abiNFT")); var _web = _interopRequireDefault(require("web3")); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -var web3 = new _web.default("https://api.myetherwallet.com/eth"); -var tokenContract = new web3.eth.Contract(_abiNFT.default); +var web3 = new _web["default"]("https://api.myetherwallet.com/eth"); +var tokenContract = new web3.eth.Contract(_abiNFT["default"]); tokenContract.options.address = "0xeA3352C1a3480Ac5a32Fcd1F2854529BA7193F14"; tokenContract.methods.getOwnedTokens("0x8bc67d00253fd60b1afcce88b78820413139f4c6", "0x669cb6e8e464fd445df692db25d69c37e3f2621f", 0, 1000).call().then(function (res) { - console.log(res, (0, _binaryDecoderNFT.default)(res).length); - console.log((0, _binaryDecoderNFT.default)(res).map(function (val) { + console.log(res, (0, _binaryDecoderNFT["default"])(res).length); + console.log((0, _binaryDecoderNFT["default"])(res).map(function (val) { return val.toNumber(); })); }); tokenContract.methods.getTokenBalances(["0x8bc67d00253fd60b1afcce88b78820413139f4c6", "0x6EbeAf8e8E946F0716E6533A6f2cefc83f60e8Ab", "0x8bc67d00253fd60b1afcce88b78820413139f4c6"], "0x669cb6e8e464fd445df692db25d69c37e3f2621f").call().then(function (res) { - console.log(res, (0, _binaryDecoderNFT.default)(res).length); - console.log((0, _binaryDecoderNFT.default)(res).map(function (val) { + console.log(res, (0, _binaryDecoderNFT["default"])(res).length); + console.log((0, _binaryDecoderNFT["default"])(res).map(function (val) { return val.toNumber(); })); }); \ No newline at end of file diff --git a/packages/eth-token-balance/package-lock.json b/packages/eth-token-balance/package-lock.json index ca4cd39..f649960 100644 --- a/packages/eth-token-balance/package-lock.json +++ b/packages/eth-token-balance/package-lock.json @@ -1,52 +1,64 @@ { "name": "@myetherwallet/eth-token-balance", - "version": "0.1.5", + "version": "0.1.6", "lockfileVersion": 1, "requires": true, "dependencies": { "@babel/cli": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.6.4.tgz", - "integrity": "sha512-tqrDyvPryBM6xjIyKKUwr3s8CzmmYidwgdswd7Uc/Cv0ogZcuS1TYQTLx/eWKP3UbJ6JxZAiYlBZabXm/rtRsQ==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.8.4.tgz", + "integrity": "sha512-XXLgAm6LBbaNxaGhMAznXXaxtCWfuv6PIDJ9Alsy9JYTOh+j2jJz+L/162kkfU1j/pTSxK1xGmlwI4pdIMkoag==", "dev": true, "requires": { "chokidar": "^2.1.8", - "commander": "^2.8.1", + "commander": "^4.0.1", "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.0.0", "lodash": "^4.17.13", - "mkdirp": "^0.5.1", - "output-file-sync": "^2.0.0", + "make-dir": "^2.1.0", "slash": "^2.0.0", "source-map": "^0.5.0" } }, "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "^7.8.3" + } + }, + "@babel/compat-data": { + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz", + "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==", + "dev": true, + "requires": { + "browserslist": "^4.11.1", + "invariant": "^2.2.4", + "semver": "^5.5.0" } }, "@babel/core": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz", - "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.4", - "@babel/helpers": "^7.6.2", - "@babel/parser": "^7.6.4", - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.3", - "@babel/types": "^7.6.3", - "convert-source-map": "^1.1.0", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz", + "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.6", + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helpers": "^7.9.6", + "@babel/parser": "^7.9.6", + "@babel/template": "^7.8.6", + "@babel/traverse": "^7.9.6", + "@babel/types": "^7.9.6", + "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "json5": "^2.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", "lodash": "^4.17.13", "resolve": "^1.3.2", "semver": "^5.4.1", @@ -67,760 +79,862 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true } } }, "@babel/generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz", - "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz", + "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==", "dev": true, "requires": { - "@babel/types": "^7.6.3", + "@babel/types": "^7.9.6", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", - "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", + "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.8.3" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", - "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", + "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz", + "integrity": "sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/compat-data": "^7.9.6", + "browserslist": "^4.11.1", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" } }, - "@babel/helper-call-delegate": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", - "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "@babel/helper-create-regexp-features-plugin": { + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", + "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/traverse": "^7.4.4", - "@babel/types": "^7.4.4" + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.7.0" } }, "@babel/helper-define-map": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", - "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", + "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.5.5", + "@babel/helper-function-name": "^7.8.3", + "@babel/types": "^7.8.3", "lodash": "^4.17.13" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", - "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", + "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", "dev": true, "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", + "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.9.5" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.8.3" } }, "@babel/helper-hoist-variables": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", - "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", + "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/types": "^7.8.3" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", - "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", + "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", "dev": true, "requires": { - "@babel/types": "^7.5.5" + "@babel/types": "^7.8.3" } }, "@babel/helper-module-imports": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", - "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.8.3" } }, "@babel/helper-module-transforms": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", - "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", + "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/types": "^7.5.5", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.6", + "@babel/types": "^7.9.0", "lodash": "^4.17.13" } }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", - "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", + "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.8.3" } }, "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", "dev": true }, "@babel/helper-regex": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", - "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", + "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", "dev": true, "requires": { "lodash": "^4.17.13" } }, "@babel/helper-remap-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", - "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", + "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-wrap-function": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-wrap-function": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@babel/helper-replace-supers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", - "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz", + "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.5.5", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.9.6", + "@babel/types": "^7.9.6" } }, "@babel/helper-simple-access": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", - "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", "dev": true, "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/types": "^7.8.3" } }, + "@babel/helper-validator-identifier": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "dev": true + }, "@babel/helper-wrap-function": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", - "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", + "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "@babel/helper-function-name": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@babel/helpers": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz", - "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz", + "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==", "dev": true, "requires": { - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.2", - "@babel/types": "^7.6.0" + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.9.6", + "@babel/types": "^7.9.6" } }, "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", + "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.9.0", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz", - "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz", + "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", - "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", + "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0", - "@babel/plugin-syntax-async-generators": "^7.2.0" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", - "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", + "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", - "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", + "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.2.0" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz", + "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz", - "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz", + "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.9.5" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz", + "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz", - "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", + "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.6.0" + "@babel/helper-create-regexp-features-plugin": "^7.8.8", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-syntax-async-generators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", - "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", - "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", - "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz", + "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", + "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", - "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", + "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", - "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", + "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", - "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", + "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz", - "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", + "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-plugin-utils": "^7.8.3", "lodash": "^4.17.13" } }, "@babel/plugin-transform-classes": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", - "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.5.5", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5", - "@babel/helper-split-export-declaration": "^7.4.4", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz", + "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-define-map": "^7.8.3", + "@babel/helper-function-name": "^7.9.5", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-split-export-declaration": "^7.8.3", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", - "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", + "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-destructuring": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", - "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz", + "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz", - "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", + "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.6.0" + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", - "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", + "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", - "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", + "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-for-of": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", - "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz", + "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-function-name": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", - "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", + "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", - "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", + "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", - "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", + "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", - "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz", + "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", - "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz", + "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", - "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz", + "integrity": "sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", - "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz", + "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz", - "integrity": "sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", "dev": true, "requires": { - "regexpu-core": "^4.6.0" + "@babel/helper-create-regexp-features-plugin": "^7.8.3" } }, "@babel/plugin-transform-new-target": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", - "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", + "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-object-super": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", - "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", + "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.3" } }, "@babel/plugin-transform-parameters": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", - "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz", + "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==", "dev": true, "requires": { - "@babel/helper-call-delegate": "^7.4.4", - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-property-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", - "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", + "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-regenerator": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", - "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", + "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", "dev": true, "requires": { - "regenerator-transform": "^0.14.0" + "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", - "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", + "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", - "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", + "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-spread": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz", - "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", + "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", - "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", + "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-regex": "^7.8.3" } }, "@babel/plugin-transform-template-literals": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", - "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", + "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", - "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", + "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz", - "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", + "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.6.0" + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/polyfill": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.6.0.tgz", - "integrity": "sha512-q5BZJI0n/B10VaQQvln1IlDK3BTBJFbADx7tv+oXDPIDZuTo37H5Adb9jhlXm/fEN4Y7/64qD9mnrJJG7rmaTw==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.8.7.tgz", + "integrity": "sha512-LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w==", "requires": { "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.2" + "regenerator-runtime": "^0.13.4" } }, "@babel/preset-env": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz", - "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz", + "integrity": "sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.9.6", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-proposal-async-generator-functions": "^7.8.3", + "@babel/plugin-proposal-dynamic-import": "^7.8.3", + "@babel/plugin-proposal-json-strings": "^7.8.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-proposal-numeric-separator": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.9.6", + "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.9.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.8.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.8.3", + "@babel/plugin-transform-async-to-generator": "^7.8.3", + "@babel/plugin-transform-block-scoped-functions": "^7.8.3", + "@babel/plugin-transform-block-scoping": "^7.8.3", + "@babel/plugin-transform-classes": "^7.9.5", + "@babel/plugin-transform-computed-properties": "^7.8.3", + "@babel/plugin-transform-destructuring": "^7.9.5", + "@babel/plugin-transform-dotall-regex": "^7.8.3", + "@babel/plugin-transform-duplicate-keys": "^7.8.3", + "@babel/plugin-transform-exponentiation-operator": "^7.8.3", + "@babel/plugin-transform-for-of": "^7.9.0", + "@babel/plugin-transform-function-name": "^7.8.3", + "@babel/plugin-transform-literals": "^7.8.3", + "@babel/plugin-transform-member-expression-literals": "^7.8.3", + "@babel/plugin-transform-modules-amd": "^7.9.6", + "@babel/plugin-transform-modules-commonjs": "^7.9.6", + "@babel/plugin-transform-modules-systemjs": "^7.9.6", + "@babel/plugin-transform-modules-umd": "^7.9.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-new-target": "^7.8.3", + "@babel/plugin-transform-object-super": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.9.5", + "@babel/plugin-transform-property-literals": "^7.8.3", + "@babel/plugin-transform-regenerator": "^7.8.7", + "@babel/plugin-transform-reserved-words": "^7.8.3", + "@babel/plugin-transform-shorthand-properties": "^7.8.3", + "@babel/plugin-transform-spread": "^7.8.3", + "@babel/plugin-transform-sticky-regex": "^7.8.3", + "@babel/plugin-transform-template-literals": "^7.8.3", + "@babel/plugin-transform-typeof-symbol": "^7.8.4", + "@babel/plugin-transform-unicode-regex": "^7.8.3", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.9.6", + "browserslist": "^4.11.1", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-dynamic-import": "^7.5.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.6.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.6.2", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.5.0", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.6.3", - "@babel/plugin-transform-classes": "^7.5.5", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.6.0", - "@babel/plugin-transform-dotall-regex": "^7.6.2", - "@babel/plugin-transform-duplicate-keys": "^7.5.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.4.4", - "@babel/plugin-transform-function-name": "^7.4.4", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-member-expression-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.5.0", - "@babel/plugin-transform-modules-commonjs": "^7.6.0", - "@babel/plugin-transform-modules-systemjs": "^7.5.0", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3", - "@babel/plugin-transform-new-target": "^7.4.4", - "@babel/plugin-transform-object-super": "^7.5.5", - "@babel/plugin-transform-parameters": "^7.4.4", - "@babel/plugin-transform-property-literals": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-reserved-words": "^7.2.0", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.6.2", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.4.4", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.6.2", - "@babel/types": "^7.6.3", - "browserslist": "^4.6.0", - "core-js-compat": "^3.1.1", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", + "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", - "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.6.0", - "@babel/types": "^7.6.0" + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" } }, "@babel/traverse": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz", - "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz", + "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==", "dev": true, "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.3", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.6.3", - "@babel/types": "^7.6.3", + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.6", + "@babel/helper-function-name": "^7.9.5", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" @@ -844,12 +958,12 @@ } }, "@babel/types": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", - "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz", + "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==", "dev": true, "requires": { - "esutils": "^2.0.2", + "@babel/helper-validator-identifier": "^7.9.5", "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } @@ -868,17 +982,45 @@ } }, "@types/bn.js": { - "version": "4.11.5", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.5.tgz", - "integrity": "sha512-AEAZcIZga0JgVMHNtl1CprA/hXX7/wPt79AgR4XqaDt7jyj3QWYw6LPoOiznPtugDmlubUnAahMs2PFxGcQrng==", + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "requires": { "@types/node": "*" } }, "@types/node": { - "version": "12.11.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.11.7.tgz", - "integrity": "sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA==" + "version": "10.17.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.21.tgz", + "integrity": "sha512-PQKsydPxYxF1DsAFWmunaxd3sOi3iMt6Zmx/tgaagHYmwJ/9cRH91hQkeJZaUGWbvn0K5HlSVEXkn5U/llWPpQ==" + }, + "@web3-js/scrypt-shim": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@web3-js/scrypt-shim/-/scrypt-shim-0.1.0.tgz", + "integrity": "sha512-ZtZeWCc/s0nMcdx/+rZwY1EcuRdemOK9ag21ty9UsHkFxsNb/AaoucUz0iPuyGe0Ku+PFuRmWZG7Z7462p9xPw==", + "requires": { + "scryptsy": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@web3-js/websocket": { + "version": "1.0.30", + "resolved": "https://registry.npmjs.org/@web3-js/websocket/-/websocket-1.0.30.tgz", + "integrity": "sha512-fDwrD47MiDrzcJdSeTLF75aCcxVVt8B1N74rA+vh2XCAvFy4tEWJjtnUtj2QG7/zlQ6g9cQ88bZFBxwd9/FmtA==", + "requires": { + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "nan": "^2.14.0", + "typedarray-to-buffer": "^3.1.5", + "yaeti": "^0.0.6" + } }, "accepts": { "version": "1.3.7", @@ -895,11 +1037,11 @@ "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" }, "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" @@ -914,11 +1056,6 @@ "color-convert": "^1.9.0" } }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", @@ -1035,14 +1172,14 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" }, "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "requires": { "object.assign": "^4.1.0" @@ -1155,19 +1292,10 @@ "safe-buffer": "^5.0.1" } }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "bluebird": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", - "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==" + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "bn.js": { "version": "4.11.8", @@ -1280,15 +1408,6 @@ "randombytes": "^2.0.1" } }, - "browserify-sha3": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.4.tgz", - "integrity": "sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY=", - "requires": { - "js-sha3": "^0.6.1", - "safe-buffer": "^5.1.1" - } - }, "browserify-sign": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", @@ -1304,49 +1423,26 @@ } }, "browserslist": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.2.tgz", - "integrity": "sha512-uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", + "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001004", - "electron-to-chromium": "^1.3.295", - "node-releases": "^1.1.38" + "caniuse-lite": "^1.0.30001043", + "electron-to-chromium": "^1.3.413", + "node-releases": "^1.1.53", + "pkg-up": "^2.0.0" } }, "buffer": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", - "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, "buffer-to-arraybuffer": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", @@ -1410,9 +1506,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001004", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001004.tgz", - "integrity": "sha512-3nfOR4O8Wa2RWoYfJkMtwRVOsK96TQ+eq57wd0iKaEWl8dwG4hKZ/g0MVBfCvysFvMLi9fQGR/DvozMdkEPl3g==", + "version": "1.0.30001048", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001048.tgz", + "integrity": "sha512-g1iSHKVxornw0K8LG9LLdf+Fxnv7T1Z+mMsf0/YYLclQX4Cd522Ap0Lrw6NFqHgezit78dtyWxzlV2Xfc7vgRg==", "dev": true }, "caseless": { @@ -1453,9 +1549,9 @@ } }, "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "cipher-base": { "version": "1.0.4", @@ -1534,12 +1630,10 @@ } }, "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true }, "component-emitter": { "version": "1.3.0", @@ -1560,13 +1654,6 @@ "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", "requires": { "safe-buffer": "5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } } }, "content-type": { @@ -1575,20 +1662,12 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } } }, "cookie": { @@ -1614,18 +1693,26 @@ "optional": true }, "core-js": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", - "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==" + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" }, "core-js-compat": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.3.3.tgz", - "integrity": "sha512-GNZkENsx5pMnS7Inwv7ZO/s3B68a9WU5kIjxqrD/tkNR8mtfXJRk8fAKRlbvWZSGPc59/TkiOBDYl5Cb65pTVA==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", + "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", "dev": true, "requires": { - "browserslist": "^4.7.1", - "semver": "^6.3.0" + "browserslist": "^4.8.5", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } } }, "core-util-is": { @@ -1724,21 +1811,6 @@ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, - "decompress": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", - "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - } - }, "decompress-response": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", @@ -1747,81 +1819,16 @@ "mimic-response": "^1.0.0" } }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - } - } - }, "defer-to-connect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", - "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -1882,9 +1889,9 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -1906,9 +1913,9 @@ } }, "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, "drbg.js": { "version": "1.0.1", @@ -1940,15 +1947,15 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.295", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.295.tgz", - "integrity": "sha512-KxlGE9GcZTv7xGwYJGMEABHJq2JuTMNF7jD8NwHk6sBY226mW+Dyp9kZmA2Od9tKHMCS7ltPnqFg+zq3jTWN7Q==", + "version": "1.3.424", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.424.tgz", + "integrity": "sha512-h8apsMr1RK3OusH8iwxlJ7TZkpgWfg2HvTXZ3o1w9R/SeRKX0hEGMQmRyTWijZAloHfmfwTLaPurVqKWdFC5dw==", "dev": true }, "elliptic": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", - "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "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", @@ -1972,41 +1979,14 @@ "once": "^1.4.0" } }, - "es-abstract": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz", - "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==", - "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.0", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-inspect": "^1.6.0", - "object-keys": "^1.1.1", - "string.prototype.trimleft": "^2.1.0", - "string.prototype.trimright": "^2.1.0" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, "es5-ext": { - "version": "0.10.51", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz", - "integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==", + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", "requires": { "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "^1.0.0" + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" } }, "es6-iterator": { @@ -2020,12 +2000,12 @@ } }, "es6-symbol": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz", - "integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "requires": { "d": "^1.0.1", - "es5-ext": "^0.10.51" + "ext": "^1.1.2" } }, "escape-html": { @@ -2067,13 +2047,12 @@ } }, "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", + "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", "requires": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", "nano-json-stream-parser": "^0.1.2", "servify": "^0.1.12", "ws": "^3.0.0", @@ -2081,45 +2060,38 @@ } }, "ethereum-bloom-filters": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.6.tgz", - "integrity": "sha512-dE9CGNzgOOsdh7msZirvv8qjHtnHpvBlKe2647kM8v+yeF71IRso55jpojemvHV+jMjr48irPWxMRaHuOWzAFA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.7.tgz", + "integrity": "sha512-cDcJJSJ9GMAcURiAWO3DxIEhTL/uWqlQnvgKpuYQzYPrt/izuGU+1ntQmHt0IRq6ADoSYHFnB+aCEFIldjhkMQ==", "requires": { "js-sha3": "^0.8.0" - }, - "dependencies": { - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - } } }, "ethereumjs-common": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.3.2.tgz", - "integrity": "sha512-GkltYRIqBLzaZLmF/K3E+g9lZ4O4FL+TtpisAlD3N+UVlR+mrtoG+TvxavqVa6PwOY4nKIEMe5pl6MrTio3Lww==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz", + "integrity": "sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ==" }, "ethereumjs-tx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.1.tgz", - "integrity": "sha512-QtVriNqowCFA19X9BCRPMgdVNJ0/gMBS91TQb1DfrhsbR748g4STwxZptFAwfqehMyrF8rDwB23w87PQwru0wA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", "requires": { - "ethereumjs-common": "^1.3.1", + "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" } }, "ethereumjs-util": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz", - "integrity": "sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", + "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", "requires": { + "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", "create-hash": "^1.1.2", "ethjs-util": "0.1.6", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", + "keccak": "^2.0.0", + "rlp": "^2.2.3", "secp256k1": "^3.0.1" } }, @@ -2140,11 +2112,6 @@ "xmlhttprequest": "1.8.0" }, "dependencies": { - "@types/node": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.0.tgz", - "integrity": "sha512-wuJwN2KV4tIRz1bu9vq5kSPasJ8IsEjZaP1ZR7KlmdUZvGF/rXy8DmXOVwUD0kAtvtJ7aqMKPqUXC0NUTDbrDg==" - }, "elliptic": { "version": "6.3.3", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", @@ -2294,12 +2261,20 @@ "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "requires": { + "type": "^2.0.0" }, "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==" } } }, @@ -2408,27 +2383,14 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" }, "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "requires": { - "pend": "~1.2.0" - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "file-uri-to-path": { "version": "1.0.0", @@ -2474,12 +2436,13 @@ "unpipe": "~1.0.0" } }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "requires": { - "is-callable": "^1.1.3" + "locate-path": "^2.0.0" } }, "for-in": { @@ -2524,11 +2487,6 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, "fs-extra": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", @@ -2560,14 +2518,15 @@ "dev": true }, "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz", + "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==", "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" + "node-pre-gyp": "*" }, "dependencies": { "abbrev": { @@ -2615,7 +2574,7 @@ } }, "chownr": { - "version": "1.1.1", + "version": "1.1.4", "bundled": true, "dev": true, "optional": true @@ -2645,7 +2604,7 @@ "optional": true }, "debug": { - "version": "4.1.1", + "version": "3.2.6", "bundled": true, "dev": true, "optional": true, @@ -2672,12 +2631,12 @@ "optional": true }, "fs-minipass": { - "version": "1.2.5", + "version": "1.2.7", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -2703,7 +2662,7 @@ } }, "glob": { - "version": "7.1.3", + "version": "7.1.6", "bundled": true, "dev": true, "optional": true, @@ -2732,7 +2691,7 @@ } }, "ignore-walk": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "dev": true, "optional": true, @@ -2751,7 +2710,7 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", "bundled": true, "dev": true, "optional": true @@ -2787,13 +2746,13 @@ } }, "minimist": { - "version": "0.0.8", + "version": "1.2.5", "bundled": true, "dev": true, "optional": true }, "minipass": { - "version": "2.3.5", + "version": "2.9.0", "bundled": true, "dev": true, "optional": true, @@ -2803,42 +2762,42 @@ } }, "minizlib": { - "version": "1.2.1", + "version": "1.3.3", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mkdirp": { - "version": "0.5.1", + "version": "0.5.3", "bundled": true, "dev": true, "optional": true, "requires": { - "minimist": "0.0.8" + "minimist": "^1.2.5" } }, "ms": { - "version": "2.1.1", + "version": "2.1.2", "bundled": true, "dev": true, "optional": true }, "needle": { - "version": "2.3.0", + "version": "2.3.3", "bundled": true, "dev": true, "optional": true, "requires": { - "debug": "^4.1.0", + "debug": "^3.2.6", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.12.0", + "version": "0.14.0", "bundled": true, "dev": true, "optional": true, @@ -2852,11 +2811,11 @@ "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^4" + "tar": "^4.4.2" } }, "nopt": { - "version": "4.0.1", + "version": "4.0.3", "bundled": true, "dev": true, "optional": true, @@ -2866,19 +2825,29 @@ } }, "npm-bundled": { - "version": "1.0.6", + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { - "version": "1.4.1", + "version": "1.4.8", "bundled": true, "dev": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" } }, "npmlog": { @@ -2943,7 +2912,7 @@ "optional": true }, "process-nextick-args": { - "version": "2.0.0", + "version": "2.0.1", "bundled": true, "dev": true, "optional": true @@ -2958,18 +2927,10 @@ "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } } }, "readable-stream": { - "version": "2.3.6", + "version": "2.3.7", "bundled": true, "dev": true, "optional": true, @@ -2984,7 +2945,7 @@ } }, "rimraf": { - "version": "2.6.3", + "version": "2.7.1", "bundled": true, "dev": true, "optional": true, @@ -3011,7 +2972,7 @@ "optional": true }, "semver": { - "version": "5.7.0", + "version": "5.7.1", "bundled": true, "dev": true, "optional": true @@ -3064,18 +3025,18 @@ "optional": true }, "tar": { - "version": "4.4.8", + "version": "4.4.13", "bundled": true, "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "yallist": "^3.0.3" } }, "util-deprecate": { @@ -3100,7 +3061,7 @@ "optional": true }, "yallist": { - "version": "3.0.3", + "version": "3.1.1", "bundled": true, "dev": true, "optional": true @@ -3110,7 +3071,14 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true }, "get-stream": { "version": "4.1.0", @@ -3136,9 +3104,9 @@ } }, "glob": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", - "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -3206,14 +3174,9 @@ } }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "har-schema": { "version": "2.0.0", @@ -3229,14 +3192,6 @@ "har-schema": "^2.0.0" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -3249,9 +3204,10 @@ "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" }, "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true }, "has-to-string-tag-x": { "version": "1.4.1", @@ -3325,9 +3281,9 @@ } }, "http-cache-semantics": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", - "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" }, "http-errors": { "version": "1.7.2", @@ -3416,9 +3372,9 @@ } }, "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, "is-accessor-descriptor": { "version": "0.1.6", @@ -3459,11 +3415,6 @@ "dev": true, "optional": true }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" - }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -3486,11 +3437,6 @@ } } }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" - }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -3527,9 +3473,9 @@ "optional": true }, "is-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" }, "is-glob": { "version": "4.0.1", @@ -3546,11 +3492,6 @@ "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -3593,14 +3534,6 @@ "isobject": "^3.0.1" } }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "requires": { - "has": "^1.0.1" - } - }, "is-retry-allowed": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", @@ -3611,14 +3544,6 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "requires": { - "has-symbols": "^1.0.0" - } - }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -3634,7 +3559,9 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, + "optional": true }, "isobject": { "version": "3.0.1", @@ -3657,16 +3584,10 @@ "is-object": "^1.0.1" } }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true - }, "js-sha3": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.6.1.tgz", - "integrity": "sha1-W4n3enR3Z5h39YxKB1JAk0sflcA=" + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, "js-tokens": { "version": "4.0.0", @@ -3706,20 +3627,12 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } + "minimist": "^1.2.5" } }, "jsonfile": { @@ -3742,23 +3655,21 @@ } }, "keccak": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", - "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", - "requires": { - "bindings": "^1.2.1", - "inherits": "^2.0.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" - } - }, - "keccakjs": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.3.tgz", - "integrity": "sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", + "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", "requires": { - "browserify-sha3": "^0.0.4", - "sha3": "^1.2.2" + "bindings": "^1.5.0", + "inherits": "^2.0.4", + "nan": "^2.14.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + } } }, "keyv": { @@ -3770,12 +3681,37 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "optional": true }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, "lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", @@ -3797,18 +3733,13 @@ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } + "pify": "^4.0.1", + "semver": "^5.6.0" } }, "map-cache": { @@ -3890,16 +3821,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" }, "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "requires": { - "mime-db": "1.40.0" + "mime-db": "1.44.0" } }, "mimic-response": { @@ -3935,9 +3866,9 @@ } }, "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minipass": { "version": "2.9.0", @@ -3980,12 +3911,9 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "mkdirp-promise": { "version": "5.0.1", @@ -3996,9 +3924,9 @@ } }, "mock-fs": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.10.2.tgz", - "integrity": "sha512-ewPQ83O4U8/Gd8I15WoB6vgTTmq5khxBskUWCRvswUqjCfOOTREmxllztQOm+PXMWUxATry+VBWXQJloAyxtbQ==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.12.0.tgz", + "integrity": "sha512-/P/HtrlvBxY4o/PzXY9cCNBrdylDNxg7gnrv2sMNxj+UJ2m8jSpl0/A6fuJeNAWr99ZvGWH8XCbE0vmnM5KupQ==" }, "ms": { "version": "2.0.0", @@ -4006,9 +3934,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "nan": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" }, "nano-json-stream-parser": { "version": "0.1.2", @@ -4046,13 +3974,10 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, "node-releases": { - "version": "1.1.39", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.39.tgz", - "integrity": "sha512-8MRC/ErwNCHOlAFycy9OPca46fQYUjbJRDcZTHVWIGXIjYLM73k70vv3WkYutVnM4cCo4hE0MqBVVZjP6vjISA==", - "dev": true, - "requires": { - "semver": "^6.3.0" - } + "version": "1.1.53", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz", + "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==", + "dev": true }, "normalize-path": { "version": "3.0.0", @@ -4126,15 +4051,11 @@ } } }, - "object-inspect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", - "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==" - }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, "object-visit": { "version": "1.0.1", @@ -4192,17 +4113,6 @@ "wrappy": "1" } }, - "output-file-sync": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", - "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "is-plain-obj": "^1.1.0", - "mkdirp": "^0.5.1" - } - }, "p-cancelable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", @@ -4213,6 +4123,24 @@ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, "p-timeout": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", @@ -4221,6 +4149,12 @@ "p-finally": "^1.0.0" } }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, "parse-asn1": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", @@ -4235,13 +4169,9 @@ } }, "parse-headers": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", - "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", - "requires": { - "for-each": "^0.3.3", - "string.prototype.trim": "^1.1.2" - } + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" }, "parseurl": { "version": "1.3.3", @@ -4262,6 +4192,12 @@ "dev": true, "optional": true }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -4291,32 +4227,24 @@ "sha.js": "^2.4.8" } }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, "requires": { - "pinkie": "^2.0.0" + "find-up": "^2.1.0" } }, "posix-character-classes": { @@ -4345,21 +4273,23 @@ "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "optional": true }, "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", "requires": { "forwarded": "~0.1.2", - "ipaddr.js": "1.9.0" + "ipaddr.js": "1.9.1" } }, "psl": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", - "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "public-encrypt": { "version": "4.0.3", @@ -4437,9 +4367,11 @@ } }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4448,13 +4380,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } } }, "readdirp": { @@ -4476,26 +4401,27 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", - "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", "dev": true, "requires": { "regenerate": "^1.4.0" } }, "regenerator-runtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" }, "regenerator-transform": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", - "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", + "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", "dev": true, "requires": { - "private": "^0.1.6" + "@babel/runtime": "^7.8.4", + "private": "^0.1.8" } }, "regex-not": { @@ -4510,17 +4436,17 @@ } }, "regexpu-core": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", - "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", "dev": true, "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "unicode-match-property-value-ecmascript": "^1.2.0" } }, "regjsgen": { @@ -4530,9 +4456,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -4568,9 +4494,9 @@ "optional": true }, "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -4579,7 +4505,7 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.0", + "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", @@ -4589,7 +4515,7 @@ "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", + "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, @@ -4602,9 +4528,9 @@ } }, "resolve": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4642,18 +4568,17 @@ } }, "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.4", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.4.tgz", + "integrity": "sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw==", "requires": { - "bn.js": "^4.11.1", - "safe-buffer": "^5.1.1" + "bn.js": "^4.11.1" } }, "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "1.1.0", @@ -4675,53 +4600,31 @@ "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" }, - "scrypt-shim": { - "version": "github:web3-js/scrypt-shim#be5e616323a8b5e568788bf94d03c1b8410eac54", - "from": "github:web3-js/scrypt-shim", - "requires": { - "scryptsy": "^2.1.0", - "semver": "^6.3.0" - } - }, "scryptsy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" }, "secp256k1": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.7.1.tgz", - "integrity": "sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", + "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", "requires": { "bindings": "^1.5.0", "bip66": "^1.1.5", "bn.js": "^4.11.8", "create-hash": "^1.2.0", "drbg.js": "^1.0.1", - "elliptic": "^6.4.1", + "elliptic": "^6.5.2", "nan": "^2.14.0", "safe-buffer": "^5.1.2" - }, - "dependencies": { - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" - } - } - }, - "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "requires": { - "commander": "~2.8.1" } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true }, "send": { "version": "0.17.1", @@ -4817,14 +4720,6 @@ "safe-buffer": "^5.0.1" } }, - "sha3": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.3.tgz", - "integrity": "sha512-sOWDZi8cDBRkLfWOw18wvJyNblXDHzwMGnRWut8zNNeIeLnmMRO17bjpLc7OzMuj1ASUgx2IyohzUCAl+Kx5vA==", - "requires": { - "nan": "2.13.2" - } - }, "simple-concat": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", @@ -4970,13 +4865,13 @@ "dev": true }, "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "optional": true, "requires": { - "atob": "^2.1.1", + "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", @@ -5049,55 +4944,14 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, - "string.prototype.trim": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz", - "integrity": "sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.13.0", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimleft": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", - "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimright": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", - "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, "requires": { "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "requires": { - "is-natural-number": "^4.0.1" } }, "strip-hex-prefix": { @@ -5118,13 +4972,12 @@ } }, "swarm-js": { - "version": "0.1.39", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.39.tgz", - "integrity": "sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg==", + "version": "0.1.40", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", + "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", "requires": { "bluebird": "^3.5.0", "buffer": "^5.0.5", - "decompress": "^4.0.0", "eth-lib": "^0.1.26", "fs-extra": "^4.0.2", "got": "^7.1.0", @@ -5133,7 +4986,7 @@ "mock-fs": "^4.1.0", "setimmediate": "^1.0.5", "tar": "^4.0.2", - "xhr-request-promise": "^0.1.2" + "xhr-request": "^1.0.1" }, "dependencies": { "get-stream": { @@ -5194,37 +5047,23 @@ "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", "yallist": "^3.0.3" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + } } }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, "timed-out": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -5288,19 +5127,12 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - } + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, "tunnel-agent": { @@ -5343,15 +5175,6 @@ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" }, - "unbzip2-stream": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", - "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, "underscore": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", @@ -5374,15 +5197,15 @@ } }, "unicode-match-property-value-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", - "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", - "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", "dev": true }, "union-value": { @@ -5507,7 +5330,9 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "optional": true }, "utils-merge": { "version": "1.0.1", @@ -5515,9 +5340,9 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, "vary": { "version": "1.1.2", @@ -5535,157 +5360,160 @@ } }, "web3": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.2.tgz", - "integrity": "sha512-/ChbmB6qZpfGx6eNpczt5YSUBHEA5V2+iUCbn85EVb3Zv6FVxrOo5Tv7Lw0gE2tW7EEjASbCyp3mZeiZaCCngg==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.7.tgz", + "integrity": "sha512-jAAJHMfUlTps+jH2li1ckDFEpPrEEriU/ubegSTGRl3KRdNhEqT93+3kd7FHJTn3NgjcyURo2+f7Da1YcZL8Mw==", "requires": { - "@types/node": "^12.6.1", - "web3-bzz": "1.2.2", - "web3-core": "1.2.2", - "web3-eth": "1.2.2", - "web3-eth-personal": "1.2.2", - "web3-net": "1.2.2", - "web3-shh": "1.2.2", - "web3-utils": "1.2.2" + "web3-bzz": "1.2.7", + "web3-core": "1.2.7", + "web3-eth": "1.2.7", + "web3-eth-personal": "1.2.7", + "web3-net": "1.2.7", + "web3-shh": "1.2.7", + "web3-utils": "1.2.7" } }, "web3-bzz": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.2.tgz", - "integrity": "sha512-b1O2ObsqUN1lJxmFSjvnEC4TsaCbmh7Owj3IAIWTKqL9qhVgx7Qsu5O9cD13pBiSPNZJ68uJPaKq380QB4NWeA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.7.tgz", + "integrity": "sha512-iTIWBR+Z+Bn09WprtKm46LmyNOasg2lUn++AjXkBTB8UNxlUybxtza84yl2ETTZUs0zuFzdSSAEgbjhygG+9oA==", "requires": { "@types/node": "^10.12.18", "got": "9.6.0", - "swarm-js": "0.1.39", + "swarm-js": "^0.1.40", "underscore": "1.9.1" - }, - "dependencies": { - "@types/node": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.0.tgz", - "integrity": "sha512-wuJwN2KV4tIRz1bu9vq5kSPasJ8IsEjZaP1ZR7KlmdUZvGF/rXy8DmXOVwUD0kAtvtJ7aqMKPqUXC0NUTDbrDg==" - } } }, "web3-core": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.2.tgz", - "integrity": "sha512-miHAX3qUgxV+KYfaOY93Hlc3kLW2j5fH8FJy6kSxAv+d4d5aH0wwrU2IIoJylQdT+FeenQ38sgsCnFu9iZ1hCQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.7.tgz", + "integrity": "sha512-QA0MTae0gXcr3KHe3cQ4x56+Wh43ZKWfMwg1gfCc3NNxPRM1jJ8qudzyptCAUcxUGXWpDG8syLIn1APDz5J8BQ==", "requires": { "@types/bn.js": "^4.11.4", "@types/node": "^12.6.1", - "web3-core-helpers": "1.2.2", - "web3-core-method": "1.2.2", - "web3-core-requestmanager": "1.2.2", - "web3-utils": "1.2.2" + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.2.7", + "web3-core-method": "1.2.7", + "web3-core-requestmanager": "1.2.7", + "web3-utils": "1.2.7" + }, + "dependencies": { + "@types/node": { + "version": "12.12.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.37.tgz", + "integrity": "sha512-4mXKoDptrXAwZErQHrLzpe0FN/0Wmf5JRniSVIdwUrtDf9wnmEV1teCNLBo/TwuXhkK/bVegoEn/wmb+x0AuPg==" + }, + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + } } }, "web3-core-helpers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.2.tgz", - "integrity": "sha512-HJrRsIGgZa1jGUIhvGz4S5Yh6wtOIo/TMIsSLe+Xay+KVnbseJpPprDI5W3s7H2ODhMQTbogmmUFquZweW2ImQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.7.tgz", + "integrity": "sha512-bdU++9QATGeCetVrMp8pV97aQtVkN5oLBf/TWu/qumC6jK/YqrvLlBJLdwbz0QveU8zOSap6GCvJbqKvmmbV2A==", "requires": { "underscore": "1.9.1", - "web3-eth-iban": "1.2.2", - "web3-utils": "1.2.2" + "web3-eth-iban": "1.2.7", + "web3-utils": "1.2.7" } }, "web3-core-method": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.2.tgz", - "integrity": "sha512-szR4fDSBxNHaF1DFqE+j6sFR/afv9Aa36OW93saHZnrh+iXSrYeUUDfugeNcRlugEKeUCkd4CZylfgbK2SKYJA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.7.tgz", + "integrity": "sha512-e1TI0QUnByDMbQ8QHwnjxfjKw0LIgVRY4TYrlPijET9ebqUJU1HCayn/BHIMpV6LKyR1fQj9EldWyT64wZQXkg==", "requires": { "underscore": "1.9.1", - "web3-core-helpers": "1.2.2", - "web3-core-promievent": "1.2.2", - "web3-core-subscriptions": "1.2.2", - "web3-utils": "1.2.2" + "web3-core-helpers": "1.2.7", + "web3-core-promievent": "1.2.7", + "web3-core-subscriptions": "1.2.7", + "web3-utils": "1.2.7" } }, "web3-core-promievent": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.2.tgz", - "integrity": "sha512-tKvYeT8bkUfKABcQswK6/X79blKTKYGk949urZKcLvLDEaWrM3uuzDwdQT3BNKzQ3vIvTggFPX9BwYh0F1WwqQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.7.tgz", + "integrity": "sha512-jNmsM/czCeMGQqKKwM9/HZVTJVIF96hdMVNN/V9TGvp+EEE7vDhB4pUocDnc/QF9Z/5QFBCVmvNWttlRgZmU0A==", "requires": { - "any-promise": "1.3.0", "eventemitter3": "3.1.2" } }, "web3-core-requestmanager": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.2.tgz", - "integrity": "sha512-a+gSbiBRHtHvkp78U2bsntMGYGF2eCb6219aMufuZWeAZGXJ63Wc2321PCbA8hF9cQrZI4EoZ4kVLRI4OF15Hw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.7.tgz", + "integrity": "sha512-HJb/txjHixu1dxIebiZQKBoJCaNu4gsh7mq/uj6Z/w6tIHbybL90s/7ADyMED353yyJ2tDWtYJqeMVAR+KtdaA==", "requires": { "underscore": "1.9.1", - "web3-core-helpers": "1.2.2", - "web3-providers-http": "1.2.2", - "web3-providers-ipc": "1.2.2", - "web3-providers-ws": "1.2.2" + "web3-core-helpers": "1.2.7", + "web3-providers-http": "1.2.7", + "web3-providers-ipc": "1.2.7", + "web3-providers-ws": "1.2.7" } }, "web3-core-subscriptions": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.2.tgz", - "integrity": "sha512-QbTgigNuT4eicAWWr7ahVpJyM8GbICsR1Ys9mJqzBEwpqS+RXTRVSkwZ2IsxO+iqv6liMNwGregbJLq4urMFcQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.7.tgz", + "integrity": "sha512-W/CzQYOUawdMDvkgA/fmLsnG5aMpbjrs78LZMbc0MFXLpH3ofqAgO2by4QZrrTShUUTeWS0ZuEkFFL/iFrSObw==", "requires": { "eventemitter3": "3.1.2", "underscore": "1.9.1", - "web3-core-helpers": "1.2.2" + "web3-core-helpers": "1.2.7" } }, "web3-eth": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.2.tgz", - "integrity": "sha512-UXpC74mBQvZzd4b+baD4Ocp7g+BlwxhBHumy9seyE/LMIcMlePXwCKzxve9yReNpjaU16Mmyya6ZYlyiKKV8UA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.7.tgz", + "integrity": "sha512-ljLd0oB4IjWkzFGVan4HkYhJXhSXgn9iaSaxdJixKGntZPgWMJfxeA+uLwTrlxrWzhvy4f+39WnT7wCh5e9TGg==", "requires": { "underscore": "1.9.1", - "web3-core": "1.2.2", - "web3-core-helpers": "1.2.2", - "web3-core-method": "1.2.2", - "web3-core-subscriptions": "1.2.2", - "web3-eth-abi": "1.2.2", - "web3-eth-accounts": "1.2.2", - "web3-eth-contract": "1.2.2", - "web3-eth-ens": "1.2.2", - "web3-eth-iban": "1.2.2", - "web3-eth-personal": "1.2.2", - "web3-net": "1.2.2", - "web3-utils": "1.2.2" + "web3-core": "1.2.7", + "web3-core-helpers": "1.2.7", + "web3-core-method": "1.2.7", + "web3-core-subscriptions": "1.2.7", + "web3-eth-abi": "1.2.7", + "web3-eth-accounts": "1.2.7", + "web3-eth-contract": "1.2.7", + "web3-eth-ens": "1.2.7", + "web3-eth-iban": "1.2.7", + "web3-eth-personal": "1.2.7", + "web3-net": "1.2.7", + "web3-utils": "1.2.7" } }, "web3-eth-abi": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.2.tgz", - "integrity": "sha512-Yn/ZMgoOLxhTVxIYtPJ0eS6pnAnkTAaJgUJh1JhZS4ekzgswMfEYXOwpMaD5eiqPJLpuxmZFnXnBZlnQ1JMXsw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.7.tgz", + "integrity": "sha512-4FnlT1q+D0XBkxSMXlIb/eG337uQeMaUdtVQ4PZ3XzxqpcoDuMgXm4o+3NRxnWmr4AMm6QKjM+hcC7c0mBKcyg==", "requires": { "ethers": "4.0.0-beta.3", "underscore": "1.9.1", - "web3-utils": "1.2.2" + "web3-utils": "1.2.7" } }, "web3-eth-accounts": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.2.tgz", - "integrity": "sha512-KzHOEyXOEZ13ZOkWN3skZKqSo5f4Z1ogPFNn9uZbKCz+kSp+gCAEKxyfbOsB/JMAp5h7o7pb6eYsPCUBJmFFiA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.7.tgz", + "integrity": "sha512-AE7QWi/iIQIjXwlAPtlMabm/OPFF0a1PhxT1EiTckpYNP8fYs6jW7lYxEtJPPJIKqfMjoi1xkEqTVR1YZQ88lg==", "requires": { - "any-promise": "1.3.0", + "@web3-js/scrypt-shim": "^0.1.0", "crypto-browserify": "3.12.0", - "eth-lib": "0.2.7", + "eth-lib": "^0.2.8", "ethereumjs-common": "^1.3.2", "ethereumjs-tx": "^2.1.1", - "scrypt-shim": "github:web3-js/scrypt-shim", "underscore": "1.9.1", "uuid": "3.3.2", - "web3-core": "1.2.2", - "web3-core-helpers": "1.2.2", - "web3-core-method": "1.2.2", - "web3-utils": "1.2.2" + "web3-core": "1.2.7", + "web3-core-helpers": "1.2.7", + "web3-core-method": "1.2.7", + "web3-utils": "1.2.7" }, "dependencies": { "eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", "requires": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -5700,112 +5528,127 @@ } }, "web3-eth-contract": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.2.tgz", - "integrity": "sha512-EKT2yVFws3FEdotDQoNsXTYL798+ogJqR2//CaGwx3p0/RvQIgfzEwp8nbgA6dMxCsn9KOQi7OtklzpnJMkjtA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.7.tgz", + "integrity": "sha512-uW23Y0iL7XroRNbf9fWZ1N6OYhEYTJX8gTuYASuRnpYrISN5QGiQML6pq/NCzqypR1bl5E0fuINZQSK/xefIVw==", "requires": { "@types/bn.js": "^4.11.4", "underscore": "1.9.1", - "web3-core": "1.2.2", - "web3-core-helpers": "1.2.2", - "web3-core-method": "1.2.2", - "web3-core-promievent": "1.2.2", - "web3-core-subscriptions": "1.2.2", - "web3-eth-abi": "1.2.2", - "web3-utils": "1.2.2" + "web3-core": "1.2.7", + "web3-core-helpers": "1.2.7", + "web3-core-method": "1.2.7", + "web3-core-promievent": "1.2.7", + "web3-core-subscriptions": "1.2.7", + "web3-eth-abi": "1.2.7", + "web3-utils": "1.2.7" } }, "web3-eth-ens": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.2.tgz", - "integrity": "sha512-CFjkr2HnuyMoMFBoNUWojyguD4Ef+NkyovcnUc/iAb9GP4LHohKrODG4pl76R5u61TkJGobC2ij6TyibtsyVYg==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.7.tgz", + "integrity": "sha512-SPRnvUNWQ0CnnTDBteGIJkvFWEizJcAHlVsrFLICwcwFZu+appjX1UOaoGu2h3GXWtc/XZlu7B451Gi+Os2cTg==", "requires": { "eth-ens-namehash": "2.0.8", "underscore": "1.9.1", - "web3-core": "1.2.2", - "web3-core-helpers": "1.2.2", - "web3-core-promievent": "1.2.2", - "web3-eth-abi": "1.2.2", - "web3-eth-contract": "1.2.2", - "web3-utils": "1.2.2" + "web3-core": "1.2.7", + "web3-core-helpers": "1.2.7", + "web3-core-promievent": "1.2.7", + "web3-eth-abi": "1.2.7", + "web3-eth-contract": "1.2.7", + "web3-utils": "1.2.7" } }, "web3-eth-iban": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.2.tgz", - "integrity": "sha512-gxKXBoUhaTFHr0vJB/5sd4i8ejF/7gIsbM/VvemHT3tF5smnmY6hcwSMmn7sl5Gs+83XVb/BngnnGkf+I/rsrQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.7.tgz", + "integrity": "sha512-2NrClz1PoQ3nSJBd+91ylCOVga9qbTxjRofq/oSCoHVAEvz3WZyttx9k5DC+0rWqwJF1h69ufFvdHAAlmN/4lg==", "requires": { "bn.js": "4.11.8", - "web3-utils": "1.2.2" + "web3-utils": "1.2.7" } }, "web3-eth-personal": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.2.tgz", - "integrity": "sha512-4w+GLvTlFqW3+q4xDUXvCEMU7kRZ+xm/iJC8gm1Li1nXxwwFbs+Y+KBK6ZYtoN1qqAnHR+plYpIoVo27ixI5Rg==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.7.tgz", + "integrity": "sha512-2OAa1Spz0uB29dwCM8+1y0So7E47A4gKznjBEwXIYEcUIsvwT5X7ofFhC2XxyRpqlIWZSQAxRSSJFyupRRXzyw==", "requires": { "@types/node": "^12.6.1", - "web3-core": "1.2.2", - "web3-core-helpers": "1.2.2", - "web3-core-method": "1.2.2", - "web3-net": "1.2.2", - "web3-utils": "1.2.2" + "web3-core": "1.2.7", + "web3-core-helpers": "1.2.7", + "web3-core-method": "1.2.7", + "web3-net": "1.2.7", + "web3-utils": "1.2.7" + }, + "dependencies": { + "@types/node": { + "version": "12.12.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.37.tgz", + "integrity": "sha512-4mXKoDptrXAwZErQHrLzpe0FN/0Wmf5JRniSVIdwUrtDf9wnmEV1teCNLBo/TwuXhkK/bVegoEn/wmb+x0AuPg==" + } } }, "web3-net": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.2.tgz", - "integrity": "sha512-K07j2DXq0x4UOJgae65rWZKraOznhk8v5EGSTdFqASTx7vWE/m+NqBijBYGEsQY1lSMlVaAY9UEQlcXK5HzXTw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.7.tgz", + "integrity": "sha512-j9qeZrS1FNyCeA0BfdLojkxOZQz3FKa1DJI+Dw9fEVhZS68vLOFANu2RB96gR9BoPHo5+k5D3NsKOoxt1gw3Gg==", "requires": { - "web3-core": "1.2.2", - "web3-core-method": "1.2.2", - "web3-utils": "1.2.2" + "web3-core": "1.2.7", + "web3-core-method": "1.2.7", + "web3-utils": "1.2.7" } }, "web3-providers-http": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.2.tgz", - "integrity": "sha512-BNZ7Hguy3eBszsarH5gqr9SIZNvqk9eKwqwmGH1LQS1FL3NdoOn7tgPPdddrXec4fL94CwgNk4rCU+OjjZRNDg==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.7.tgz", + "integrity": "sha512-vazGx5onuH/zogrwkUaLFJwFcJ6CckP65VFSHoiV+GTQdkOqgoDIha7StKkslvDz4XJ2FuY/zOZHbtuOYeltXQ==", "requires": { - "web3-core-helpers": "1.2.2", + "web3-core-helpers": "1.2.7", "xhr2-cookies": "1.1.0" } }, "web3-providers-ipc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.2.tgz", - "integrity": "sha512-t97w3zi5Kn/LEWGA6D9qxoO0LBOG+lK2FjlEdCwDQatffB/+vYrzZ/CLYVQSoyFZAlsDoBasVoYSWZK1n39aHA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.7.tgz", + "integrity": "sha512-/zc0y724H2zbkV4UbGGMhsEiLfafjagIzfrsWZnyTZUlSB0OGRmmFm2EkLJAgtXrLiodaHHyXKM0vB8S24bxdA==", "requires": { "oboe": "2.1.4", "underscore": "1.9.1", - "web3-core-helpers": "1.2.2" + "web3-core-helpers": "1.2.7" } }, "web3-providers-ws": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.2.tgz", - "integrity": "sha512-Wb1mrWTGMTXOpJkL0yGvL/WYLt8fUIXx8k/l52QB2IiKzvyd42dTWn4+j8IKXGSYYzOm7NMqv6nhA5VDk12VfA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.7.tgz", + "integrity": "sha512-b5XzqDpRkNVe6MFs5K6iqOEyjQikHtg3KuU2/ClCDV37hm0WN4xCRVMC0LwegulbDXZej3zT9+1CYzGaGFREzA==", "requires": { + "@web3-js/websocket": "^1.0.29", + "eventemitter3": "^4.0.0", "underscore": "1.9.1", - "web3-core-helpers": "1.2.2", - "websocket": "github:web3-js/WebSocket-Node#polyfill/globalThis" + "web3-core-helpers": "1.2.7" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" + } } }, "web3-shh": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.2.tgz", - "integrity": "sha512-og258NPhlBn8yYrDWjoWBBb6zo1OlBgoWGT+LL5/LPqRbjPe09hlOYHgscAAr9zZGtohTOty7RrxYw6Z6oDWCg==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.7.tgz", + "integrity": "sha512-f6PAgcpG0ZAo98KqCmeHoDEx5qzm3d5plet18DkT4U6WIeYowKdec8vZaLPRR7c2XreXFJ2gQf45CB7oqR7U/w==", "requires": { - "web3-core": "1.2.2", - "web3-core-method": "1.2.2", - "web3-core-subscriptions": "1.2.2", - "web3-net": "1.2.2" + "web3-core": "1.2.7", + "web3-core-method": "1.2.7", + "web3-core-subscriptions": "1.2.7", + "web3-net": "1.2.7" } }, "web3-utils": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.2.tgz", - "integrity": "sha512-joF+s3243TY5cL7Z7y4h1JsJpUCf/kmFmj+eJar7Y2yNIGVcW961VyrAms75tjUysSuHaUQ3eQXjBEUJueT52A==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.7.tgz", + "integrity": "sha512-FBh/CPJND+eiPeUF9KVbTyTZtXNWxPWtByBaWS6e2x4ACazPX711EeNaZaChIOGSLGe6se2n7kg6wnawe/MjuQ==", "requires": { "bn.js": "4.11.8", "eth-lib": "0.2.7", @@ -5829,24 +5672,6 @@ } } }, - "websocket": { - "version": "github:web3-js/WebSocket-Node#905deb4812572b344f5801f8c9ce8bb02799d82e", - "from": "github:web3-js/WebSocket-Node#polyfill/globalThis", - "requires": { - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "nan": "^2.14.0", - "typedarray-to-buffer": "^3.1.5", - "yaeti": "^0.0.6" - }, - "dependencies": { - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" - } - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -5860,13 +5685,6 @@ "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", "ultron": "~1.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } } }, "xhr": { @@ -5895,11 +5713,11 @@ } }, "xhr-request-promise": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", - "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", + "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", "requires": { - "xhr-request": "^1.0.1" + "xhr-request": "^1.1.0" } }, "xhr2-cookies": { @@ -5929,15 +5747,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } } } } diff --git a/packages/eth-token-balance/package.json b/packages/eth-token-balance/package.json index abd2baa..a8ea85a 100644 --- a/packages/eth-token-balance/package.json +++ b/packages/eth-token-balance/package.json @@ -23,13 +23,13 @@ "author": "kvhnuke & #teamMEW", "license": "MIT", "dependencies": { - "@babel/polyfill": "^7.0.0", + "@babel/polyfill": "^7.8.7", "bignumber.js": "^8.0.1", - "web3": "^1.0.0-beta.36" + "web3": "^1.2.7" }, "devDependencies": { - "@babel/cli": "^7.1.5", - "@babel/core": "^7.1.5", - "@babel/preset-env": "^7.1.5" + "@babel/cli": "^7.8.4", + "@babel/core": "^7.9.6", + "@babel/preset-env": "^7.9.6" } } diff --git a/packages/eth-token-balance/src/abi.js b/packages/eth-token-balance/src/abi.js index 3f9acc7..27feeb5 100644 --- a/packages/eth-token-balance/src/abi.js +++ b/packages/eth-token-balance/src/abi.js @@ -3,35 +3,35 @@ export default [ constant: true, inputs: [ { + internalType: "address", name: "_owner", - type: "address" + type: "address", }, { + internalType: "bool", name: "name", - type: "bool" + type: "bool", }, { + internalType: "bool", name: "website", - type: "bool" + type: "bool", }, { + internalType: "bool", name: "email", - type: "bool" + type: "bool", }, - { - name: "_count", - type: "uint256" - } ], name: "getAllBalance", outputs: [ { + internalType: "bytes", name: "", - type: "bytes" - } + type: "bytes", + }, ], - payable: false, - stateMutability: "view", - type: "function" - } + stateMutability: "nonpayable", + type: "function", + }, ]; diff --git a/packages/eth-token-balance/src/binaryDecoder.js b/packages/eth-token-balance/src/binaryDecoder.js index 33b21be..2669747 100644 --- a/packages/eth-token-balance/src/binaryDecoder.js +++ b/packages/eth-token-balance/src/binaryDecoder.js @@ -1,6 +1,6 @@ import bn from "bignumber.js"; import Web3 from "web3"; -var sizeHex = bytes => { +var sizeHex = (bytes) => { return bytes * 2; }; @@ -12,41 +12,40 @@ function getAscii(hex) { hex = hex.substring(0, 2) == "0x" ? hex : "0x" + hex; return trim(Web3.utils.toAscii(hex)); } -export default hex => { +export default (hex) => { var tokens = []; hex = hex.substring(0, 2) == "0x" ? hex.substring(2) : hex; - hex = hex.substring(0, hex.lastIndexOf("1") - 1); //starting point - var offset = hex.length; - offset -= sizeHex(32); + var offset = 0; var countTokens = hex.substr(offset, sizeHex(32)); - offset -= sizeHex(1); + offset += sizeHex(32); var isName = parseInt(hex.substr(offset, sizeHex(1))); - offset -= sizeHex(1); + offset += sizeHex(1); var isWebSite = parseInt(hex.substr(offset, sizeHex(1))); - offset -= sizeHex(1); + offset += sizeHex(1); var isEmail = parseInt(hex.substr(offset, sizeHex(1))); + offset += sizeHex(1); var numTokens = new bn("0x" + countTokens).toNumber(); for (var i = 0; i < numTokens; i++) { var token = {}; - offset -= sizeHex(16); token.symbol = getAscii(hex.substr(offset, sizeHex(16))); - offset -= sizeHex(20); + offset += sizeHex(16); token.addr = "0x" + hex.substr(offset, sizeHex(20)); - offset -= sizeHex(1); + offset += sizeHex(20); token.decimals = new bn("0x" + hex.substr(offset, sizeHex(1))).toNumber(); - offset -= sizeHex(32); + offset += sizeHex(1); token.balance = new bn("0x" + hex.substr(offset, sizeHex(32))).toFixed(); + offset += sizeHex(32); if (isName) { - offset -= sizeHex(16); token.name = getAscii(hex.substr(offset, sizeHex(16))); + offset += sizeHex(16); } if (isWebSite) { - offset -= sizeHex(32); token.website = getAscii(hex.substr(offset, sizeHex(32))); + offset += sizeHex(32); } if (isEmail) { - offset -= sizeHex(32); token.email = getAscii(hex.substr(offset, sizeHex(32))); + offset += sizeHex(32); } tokens.push(token); } diff --git a/packages/eth-token-balance/src/index.js b/packages/eth-token-balance/src/index.js index fe5d7a0..7c834e5 100644 --- a/packages/eth-token-balance/src/index.js +++ b/packages/eth-token-balance/src/index.js @@ -3,8 +3,8 @@ import abi from "./abi"; import Web3 from "web3"; var contractAddress = { // Mainnet - "1": "0x2783c0A4Bfd3721961653a9e9939Fc63687bf07f", - "3": "0xB8E1Bbc50FD87Ea00D8ce73747Ac6F516aF26dAC" + "1": "0x73bedb6dd7fd3edd9928f55f6acc20877f2551eb", + "3": "0xB8E1Bbc50FD87Ea00D8ce73747Ac6F516aF26dAC", }; class TokenBalance { @@ -15,7 +15,7 @@ class TokenBalance { this.web3 = new Web3(ethProvider); this.tokenContract = new this.web3.eth.Contract(abi); this.tokenPromise = new Promise((resolve, reject) => { - this.web3.eth.net.getId().then(version => { + this.web3.eth.net.getId().then((version) => { if (!contractAddress[version]) { return reject(new Error("Network not supported")); } @@ -29,16 +29,15 @@ class TokenBalance { name = true, website = true, email = true, - count = 0, extraParams = {} ) { return new Promise((resolve, reject) => { this.tokenPromise .then(() => { this.tokenContract.methods - .getAllBalance(address, name, website, email, count) + .getAllBalance(address, name, website, email) .call(extraParams) - .then(res => { + .then((res) => { resolve(decode(res)); }) .catch(reject); diff --git a/packages/eth-token-balance/src/test.js b/packages/eth-token-balance/src/test.js index ec95706..8c53233 100644 --- a/packages/eth-token-balance/src/test.js +++ b/packages/eth-token-balance/src/test.js @@ -1,9 +1,15 @@ import TokenBalance from "./index"; import Web3 from "web3"; -const web3 = new Web3("https://ethrpc.mewapi.io"); +const web3 = new Web3("https://nodes.mewapi.io/rpc/eth"); const tb = new TokenBalance(web3.currentProvider); -tb.getBalance("0xDECAF9CD2367cdbb726E904cD6397eDFcAe6068D").then(balances => { - balances.forEach(element => { - if (element.symbol === "REP") console.log(element); +tb.getBalance( + "0xDECAF9CD2367cdbb726E904cD6397eDFcAe6068D", + true, + true, + true +).then((balances) => { + console.log(balances.length); + balances.forEach((element) => { + // console.log(element); }); }); diff --git a/test/PublicTokens.js b/test/PublicTokens.js index 63e4151..a759f29 100644 --- a/test/PublicTokens.js +++ b/test/PublicTokens.js @@ -4,37 +4,37 @@ var DummyToken = artifacts.require("DummyToken"); var DummyContract = artifacts.require("DummyContract"); var Web3 = require("web3"); var web3 = new Web3(); -var bd = require("../libs/binaryDecoder.js"); +var bd = require("./binaryDecoder.js"); function trim(str) { return str.replace(/\0[\s\S]*$/g, ""); } -var getHex = str => { +var getHex = (str) => { return "0x" + Buffer.from(str, "utf8").toString("hex"); }; -contract("PublicTokens", function(accounts) { +contract("PublicTokens", function (accounts) { var pt = null; var tb = null; var dt1 = null; var dt2 = null; var dt3 = null; var dc = null; - before(async function() { + before(async function () { pt = await PublicTokens.new(); console.log(pt.address, "public token address"); tb = await TokenBalances.new(pt.address); dt1 = await DummyToken.new(accounts[1], { - from: accounts[1] + from: accounts[1], }); dt2 = await DummyToken.new(accounts[2], { - from: accounts[2] + from: accounts[2], }); dt3 = await DummyToken.new(accounts[3], { - from: accounts[3] + from: accounts[3], }); dc = await DummyContract.new(); }); - it("should add token contracts", async function() { + it("should add token contracts", async function () { await pt.addSetToken( getHex("Dummy Token 1"), getHex("DT1"), @@ -43,93 +43,100 @@ contract("PublicTokens", function(accounts) { getHex("http://www.dtoken1.eth"), getHex("support@dtoken1.eth"), { - from: accounts[0] + from: accounts[0], } ); await pt.addSetToken( - "Dummy Token 2", - "DT2", + getHex("Dummy Token 2"), + getHex("DT2"), dt2.address, 6, - "http://www.dtoken2.eth", - "support@dtoken2.eth", + getHex("http://www.dtoken2.eth"), + getHex("support@dtoken2.eth"), { - from: accounts[0] + from: accounts[0], } ); var tokenInfo1 = await pt.getToken(dt1.address); var tokenInfo2 = await pt.getToken(dt2.address); - assert.equal(trim(web3.toAscii(tokenInfo1[0])), "Dummy Token 1"); - assert.equal(trim(web3.toAscii(tokenInfo1[1])), "DT1"); + assert.equal(trim(web3.utils.toAscii(tokenInfo1[0])), "Dummy Token 1"); + assert.equal(trim(web3.utils.toAscii(tokenInfo1[1])), "DT1"); assert.equal(tokenInfo1[2], dt1.address); assert.equal(tokenInfo1[3].toNumber(), 5); - assert.equal(trim(web3.toAscii(tokenInfo1[4])), "http://www.dtoken1.eth"); - assert.equal(trim(web3.toAscii(tokenInfo1[5])), "support@dtoken1.eth"); + assert.equal( + trim(web3.utils.toAscii(tokenInfo1[4])), + "http://www.dtoken1.eth" + ); + assert.equal( + trim(web3.utils.toAscii(tokenInfo1[5])), + "support@dtoken1.eth" + ); - assert.equal(trim(web3.toAscii(tokenInfo2[0])), "Dummy Token 2"); - assert.equal(trim(web3.toAscii(tokenInfo2[1])), "DT2"); + assert.equal(trim(web3.utils.toAscii(tokenInfo2[0])), "Dummy Token 2"); + assert.equal(trim(web3.utils.toAscii(tokenInfo2[1])), "DT2"); assert.equal(tokenInfo2[2], dt2.address); assert.equal(tokenInfo2[3].toNumber(), 6); - assert.equal(trim(web3.toAscii(tokenInfo2[4])), "http://www.dtoken2.eth"); - assert.equal(trim(web3.toAscii(tokenInfo2[5])), "support@dtoken2.eth"); + assert.equal( + trim(web3.utils.toAscii(tokenInfo2[4])), + "http://www.dtoken2.eth" + ); + assert.equal( + trim(web3.utils.toAscii(tokenInfo2[5])), + "support@dtoken2.eth" + ); }); - it("should fail to register a token from other addresses", async function() { + it("should fail to register a token from other addresses", async function () { try { var failingTx = await pt.addSetToken( - "Dummy Token 3", - "DT3", + getHex("Dummy Token 3"), + getHex("DT3"), dt3.address, 7, - "http://www.dtoken3.eth", - "support@dtoken3.eth", + getHex(getHex("http://www.dtoken3.eth"), "support@dtoken3.eth"), { - from: accounts[1] + from: accounts[1], } ); assert.fail("didnt fail the tx"); } catch (e) {} }); - it("should have correct balances", async function() { + it("should have correct balances", async function () { var balance1 = await dt1.balanceOf(accounts[1]); var balance2 = await dt2.balanceOf(accounts[2]); assert.equal(balance1.toNumber(), 500000000000000); assert.equal(balance2.toNumber(), 500000000000000); }); - it("should get correct encoded string", async function() { - var allBalance = await tb.getAllBalance(accounts[1], true, true, true, 0); - var tokens = bd.decode(allBalance); - assert.equal(tokens.length, 2); + it("should get correct encoded string", async function () { + var allBalance = await tb.getAllBalance.call(accounts[1], true, true, true); + var tokens = bd(allBalance); + assert.equal(tokens.length, 1); assert.equal(tokens[0].balance, 500000000000000); - assert.equal(tokens[0].symbol, "DT1"); - assert.equal(tokens[1].balance, 0); }); - it("kill one contract and should still work", async function() { + it("kill one contract and should still work", async function () { await dt2.killMe(); - var allBalance = await tb.getAllBalance(accounts[1], true, true, true, 0); - var tokens = bd.decode(allBalance); + var allBalance = await tb.getAllBalance.call(accounts[1], true, true, true); + var tokens = bd(allBalance); assert.equal(tokens.length, 1); assert.equal(tokens[0].balance, 500000000000000); assert.equal(tokens[0].symbol, "DT1"); }); - it("set random contract and should still work", async function() { + it("set random contract and should still work", async function () { await pt.addSetToken( - "Dummy Contract", - "DC", + getHex("Dummy Contract"), + getHex("DC"), dc.address, 6, - "http://www.dcontract.eth", - "support@dcontract.eth", + getHex("http://www.dcontract.eth"), + getHex("support@dcontract.eth"), { - from: accounts[0] + from: accounts[0], } ); - var allBalance = await tb.getAllBalance(accounts[1], true, true, true, 0); - var tokens = bd.decode(allBalance); - assert.equal(tokens.length, 2); + var allBalance = await tb.getAllBalance.call(accounts[1], true, true, true); + var tokens = bd(allBalance); + assert.equal(tokens.length, 1); assert.equal(tokens[0].balance, 500000000000000); assert.equal(tokens[0].symbol, "DT1"); - assert.equal(tokens[1].balance, 0); - assert.equal(tokens[1].symbol, "DC"); }); }); diff --git a/test/binaryDecoder.js b/test/binaryDecoder.js new file mode 100644 index 0000000..8c4e080 --- /dev/null +++ b/test/binaryDecoder.js @@ -0,0 +1,54 @@ +const bn = require("bignumber.js"); +const Web3 = require("web3"); +var sizeHex = (bytes) => { + return bytes * 2; +}; + +function trim(str) { + return str.replace(/\0[\s\S]*$/g, ""); +} + +function getAscii(hex) { + hex = hex.substring(0, 2) == "0x" ? hex : "0x" + hex; + return trim(Web3.utils.toAscii(hex)); +} +module.exports = (hex) => { + var tokens = []; + hex = hex.substring(0, 2) == "0x" ? hex.substring(2) : hex; + var offset = 0; + var countTokens = hex.substr(offset, sizeHex(32)); + offset += sizeHex(32); + var isName = parseInt(hex.substr(offset, sizeHex(1))); + offset += sizeHex(1); + var isWebSite = parseInt(hex.substr(offset, sizeHex(1))); + offset += sizeHex(1); + var isEmail = parseInt(hex.substr(offset, sizeHex(1))); + offset += sizeHex(1); + var numTokens = new bn("0x" + countTokens).toNumber(); + for (var i = 0; i < numTokens; i++) { + var token = {}; + token.symbol = getAscii(hex.substr(offset, sizeHex(16))); + offset += sizeHex(16); + token.addr = "0x" + hex.substr(offset, sizeHex(20)); + offset += sizeHex(20); + token.decimals = new bn("0x" + hex.substr(offset, sizeHex(1))).toNumber(); + offset += sizeHex(1); + token.balance = new bn("0x" + hex.substr(offset, sizeHex(32))).toFixed(); + offset += sizeHex(32); + if (isName) { + token.name = getAscii(hex.substr(offset, sizeHex(16))); + offset += sizeHex(16); + } + if (isWebSite) { + token.website = getAscii(hex.substr(offset, sizeHex(32))); + offset += sizeHex(32); + } + if (isEmail) { + token.email = getAscii(hex.substr(offset, sizeHex(32))); + offset += sizeHex(32); + } + tokens.push(token); + } + console.log(tokens); + return tokens; +}; diff --git a/test/testHex.js b/test/testHex.js new file mode 100644 index 0000000..9138b54 --- /dev/null +++ b/test/testHex.js @@ -0,0 +1,24 @@ +var PublicTokens = artifacts.require("PublicTokens"); +var TokenBalances = artifacts.require("TokenBalances"); +var Web3 = require("web3"); +var web3 = new Web3(); +var bd = require("./binaryDecoder.js"); + +contract("PublicTokens", function (accounts) { + let pt, tb; + before(async function () { + pt = await PublicTokens.new(); + console.log(pt.address, "public token address"); + tb = await TokenBalances.new(pt.address); + }); + xit("rune me", async function () { + const balances = await tb.getAllBalance.call( + "0xa68d397873862Dc4b1e1533bE4C9D67b0B6EBe51", + true, + true, + true + ); + console.log(balances); + assert.equal(1, 1); + }); +}); diff --git a/truffle.js b/truffle.js index 496c018..9160a37 100644 --- a/truffle.js +++ b/truffle.js @@ -1,27 +1,27 @@ module.exports = { compilers: { solc: { - version: "0.4.26" - } + version: "0.6.4", + }, }, networks: { development: { host: "127.0.0.1", port: 7545, network_id: "*", // Match any network id - gasPrice: "0x12a05f200" + gasPrice: "0x12a05f200", }, live: { host: "127.0.0.1", port: 8545, network_id: "*", // Match any network id - gasPrice: "0x3b9aca00" + gasPrice: "0x3b9aca00", }, ropsten: { host: "https://api.myetherapi.com/rop", port: 443, network_id: "*", // Match any network id - gasPrice: "0x3b9aca00" - } - } + gasPrice: "0x3b9aca00", + }, + }, };