diff --git a/.eslintrc.json b/.eslintrc.json index 108cee20..db06972b 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -44,8 +44,9 @@ "no-param-reassign": 0, "space-before-function-paren": 0, "no-unused-expressions": 0, - "import/no-extraneous-dependencies": "error", - "chai-friendly/no-unused-expressions": 2 + "import/no-extraneous-dependencies": ["error", {"devDependencies": true}], + "chai-friendly/no-unused-expressions": 2, + "func-names": "off" }, "settings": { "import/resolver": { diff --git a/package-lock.json b/package-lock.json index 638b4e86..a149d9b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,6 +40,178 @@ "resize-observer-polyfill": "^1.5.0" } }, + "@apollo/client": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.3.12.tgz", + "integrity": "sha512-1wLVqRpujzbLRWmFPnRCDK65xapOe2txY0sTI+BaqEbumMUVNS3vxojT6hRHf9ODFEK+F6MLrud2HGx0mB3eQw==", + "dev": true, + "optional": true, + "requires": { + "@graphql-typed-document-node/core": "^3.0.0", + "@types/zen-observable": "^0.8.0", + "@wry/context": "^0.5.2", + "@wry/equality": "^0.3.0", + "fast-json-stable-stringify": "^2.0.0", + "graphql-tag": "^2.12.0", + "hoist-non-react-statics": "^3.3.2", + "optimism": "^0.14.0", + "prop-types": "^15.7.2", + "symbol-observable": "^2.0.0", + "ts-invariant": "^0.6.2", + "tslib": "^1.10.0", + "zen-observable": "^0.8.14" + }, + "dependencies": { + "@wry/equality": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.3.4.tgz", + "integrity": "sha512-1gQQhCPenzxw/1HzLlvSIs/59eBHJf9ZDIussjjZhqNSqQuPKQIzN6SWt4kemvlBPDi7RqMuUa03pId7MAE93g==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^1.14.1" + } + }, + "graphql-tag": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.2.tgz", + "integrity": "sha512-7N3cvsNBl8g+FHsnt9j10aqLt1G0QPf+HCe3fbOeTUNbf7xxtUHz6wpEvk5uVIKWtO2cikoXWuI6JGqt1gEURw==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^1.14.1" + } + }, + "symbol-observable": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-2.0.3.tgz", + "integrity": "sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==", + "dev": true, + "optional": true + }, + "ts-invariant": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.6.2.tgz", + "integrity": "sha512-hsVurayufl1gXg8CHtgZkB7X0KtA3TrI3xcJ9xkRr8FeJHnM/TIEQkgBq9XkpduyBWWUdlRIR9xWf4Lxq3LJTg==", + "dev": true, + "optional": true, + "requires": { + "@types/ungap__global-this": "^0.3.1", + "@ungap/global-this": "^0.4.2", + "tslib": "^1.9.3" + } + } + } + }, + "@apollo/protobufjs": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.0.5.tgz", + "integrity": "sha512-ZtyaBH1icCgqwIGb3zrtopV2D5Q8yxibkJzlaViM08eOhTQc7rACdYu0pfORFfhllvdMZ3aq69vifYHszY4gNA==", + "dev": true, + "optional": true, + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.0", + "@types/node": "^10.1.0", + "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "10.17.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.55.tgz", + "integrity": "sha512-koZJ89uLZufDvToeWO5BrC4CR4OUfHnUz2qoPs/daQH6qq3IN62QFxCTZ+bKaCE0xaoCAJYE4AXre8AbghCrhg==", + "dev": true, + "optional": true + } + } + }, + "@apollographql/apollo-tools": { + "version": "0.4.9", + "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.9.tgz", + "integrity": "sha512-M50pk8oo3CGTu4waGOklIX3YtTZoPfWG9K/G9WB8NpyQGA1OwYTiBFv94XqUtKElTDoFwoMXpMQd3Wy5dINvxA==", + "dev": true, + "optional": true, + "requires": { + "apollo-env": "^0.6.6" + } + }, + "@apollographql/graphql-playground-html": { + "version": "1.6.27", + "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.27.tgz", + "integrity": "sha512-tea2LweZvn6y6xFV11K0KC8ETjmm52mQrW+ezgB2O/aTQf8JGyFmMcRPFgUaQZeHbWdm8iisDC6EjOKsXu0nfw==", + "dev": true, + "optional": true, + "requires": { + "xss": "^1.0.8" + } + }, + "@apollographql/graphql-upload-8-fork": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@apollographql/graphql-upload-8-fork/-/graphql-upload-8-fork-8.1.3.tgz", + "integrity": "sha512-ssOPUT7euLqDXcdVv3Qs4LoL4BPtfermW1IOouaqEmj36TpHYDmYDIbKoSQxikd9vtMumFnP87OybH7sC9fJ6g==", + "dev": true, + "optional": true, + "requires": { + "@types/express": "*", + "@types/fs-capacitor": "*", + "@types/koa": "*", + "busboy": "^0.3.1", + "fs-capacitor": "^2.0.4", + "http-errors": "^1.7.3", + "object-path": "^0.11.4" + }, + "dependencies": { + "http-errors": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", + "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", + "dev": true, + "optional": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "optional": true + } + } + }, + "@ardatan/aggregate-error": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz", + "integrity": "sha512-vyrkEHG1jrukmzTPtyWB4NLPauUw5bQeg4uhn8f+1SSynmrOcyvlb1GKQjjgoBzElLdfXCRYX8UnBlhklOHYRQ==", + "dev": true, + "optional": true, + "requires": { + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } + } + }, "@assemblyscript/loader": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.9.4.tgz", @@ -328,12 +500,14 @@ } }, "@babel/plugin-proposal-class-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", - "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", + "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", + "dev": true, + "optional": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-proposal-decorators": { @@ -429,6 +603,16 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "optional": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, "@babel/plugin-syntax-decorators": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", @@ -616,12 +800,14 @@ } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz", - "integrity": "sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.13.0.tgz", + "integrity": "sha512-EXAGFMJgSX8gxWD7PZtW/P6M+z74jpx3wm/+9pn+c2dOawPpBkUX7BrfyPvo6ZpXbgRIEuwgwDb/MGlKvu2pOg==", + "dev": true, + "optional": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-flow": "^7.8.3" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-flow": "^7.12.13" } }, "@babel/plugin-transform-for-of": { @@ -1006,213 +1192,2039 @@ "regenerator-runtime": "^0.13.4" } }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", + "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.0", + "@babel/types": "^7.13.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", + "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" + }, + "@csstools/normalize.css": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz", + "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" + }, + "@ctrl/tinycolor": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz", + "integrity": "sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ==" + }, + "@ethersproject/abi": { + "version": "5.0.0-beta.153", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.153.tgz", + "integrity": "sha512-aXweZ1Z7vMNzJdLpR1CZUAIgnwjrZeUSvN9syCwlBaEBUFJmFY+HHnfuTI5vIhVs/mRkfJVrbEyl51JZQqyjAg==", + "dev": true, + "requires": { + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/strings": ">=5.0.0-beta.130" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.10.tgz", + "integrity": "sha512-OSReY5iz94iIaPlRvLiJP8YVIvQLx4aUvMMnHWSaA/vTU8QHZmgNlt4OBdYV1+aFY8Xl+VRYiWBHq72ZDKXXCQ==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/networks": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/web": "^5.0.12" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.0.14", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.14.tgz", + "integrity": "sha512-JztBwVO7o5OHLh2vyjordlS4/1EjRyaECtc8vPdXTF1i4dXN+J0coeRoPN6ZFbBvi/YbaB6br2fvqhst1VQD/g==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7" + } + }, + "@ethersproject/address": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.11.tgz", + "integrity": "sha512-Et4GBdD8/tsBGjCEOKee9upN29qjL5kbRcmJifb4Penmiuh9GARXL2/xpXvEp5EW+EIW/rfCHFJrkYBgoQFQBw==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/rlp": "^5.0.7" + } + }, + "@ethersproject/base64": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.9.tgz", + "integrity": "sha512-37RBz5LEZ9SlTNGiWCYFttnIN9J7qVs9Xo2EbqGqDH5LfW9EIji66S+YDMpXVo1zWDax1FkEldAoatxHK2gfgA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.0.9" + } + }, + "@ethersproject/bignumber": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.15.tgz", + "integrity": "sha512-MTADqnyacvdRwtKh7o9ujwNDSM1SDJjYDMYAzjIgjoi9rh6TY4suMbhCa3i2vh3SUXiXSICyTI8ui+NPdrZ9Lw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "bn.js": "^4.4.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "@ethersproject/bytes": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.11.tgz", + "integrity": "sha512-D51plLYY5qF05AsoVQwIZVLqlBkaTPVHVP/1WmmBIWyHB0cRW0C9kh0kx5Exo51rB63Hk8PfHxc7SmpoaQFEyg==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/constants": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.10.tgz", + "integrity": "sha512-OSo8jxkHLDXieCy8bgOFR7lMfgPxEzKvSDdP+WAWHCDM8+orwch0B6wzkTmiQFgryAtIctrBt5glAdJikZ3hGw==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.0.13" + } + }, + "@ethersproject/hash": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.12.tgz", + "integrity": "sha512-kn4QN+fhNFbUgX3XZTZUaQixi0oyfIEY+hfW+KtkHu+rq7dV76oAIvaLEEynu1/4npOL38E4X4YI42gGZk+C0Q==", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "@ethersproject/keccak256": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.9.tgz", + "integrity": "sha512-zhdUTj6RGtCJSgU+bDrWF6cGbvW453LoIC1DSNWrTlXzC7WuH4a+EiPrgc7/kNoRxerKuA/cxYlI8GwNtVtDlw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.0.9", + "js-sha3": "0.5.7" + } + }, + "@ethersproject/logger": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.10.tgz", + "integrity": "sha512-0y2T2NqykDrbPM3Zw9RSbPkDOxwChAL8detXaom76CfYoGxsOnRP/zTX8OUAV+x9LdwzgbWvWmeXrc0M7SuDZw==", + "dev": true + }, + "@ethersproject/networks": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.9.tgz", + "integrity": "sha512-L8+VCQwArBLGkxZb/5Ns/OH/OxP38AcaveXIxhUTq+VWpXYjrObG3E7RDQIKkUx1S1IcQl/UWTz5w4DK0UitJg==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/properties": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.9.tgz", + "integrity": "sha512-ZCjzbHYTw+rF1Pn8FDCEmx3gQttwIHcm/6Xee8g/M3Ga3SfW4tccNMbs5zqnBH0E4RoOPaeNgyg1O68TaF0tlg==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/rlp": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.9.tgz", + "integrity": "sha512-ns1U7ZMVeruUW6JXc4om+1w3w4ynHN/0fpwmeNTsAjwGKoF8SAUgue6ylKpHKWSti2idx7jDxbn8hNNFHk67CA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/signing-key": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.11.tgz", + "integrity": "sha512-Jfcru/BGwdkXhLxT+8WCZtFy7LL0TPFZw05FAb5asxB/MyVsEfNdNxGDtjVE9zXfmRSPe/EusXYY4K7wcygOyQ==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "elliptic": "6.5.4" + } + }, + "@ethersproject/strings": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.10.tgz", + "integrity": "sha512-KAeoS1tZ9/5ECXiIZA6S6hywbD0so2VmuW+Wfyo5EDXeyZ6Na1nxTPhTnW7voQmjbeYJffCrOc0qLFJeylyg7w==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/transactions": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.11.tgz", + "integrity": "sha512-ftsRvR9+gQp7L63F6+XmstvsZ4w8GtWvQB08e/zB+oB86Fnhq8+i/tkgpJplSHC8I/qgiCisva+M3u2GVhDFPA==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/rlp": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8" + } + }, + "@ethersproject/web": { + "version": "5.0.14", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.14.tgz", + "integrity": "sha512-QpTgplslwZ0Sp9oKNLoRuS6TKxnkwfaEk3gr7zd7XLF8XBsYejsrQO/03fNfnMx/TAT/RR6WEw/mbOwpRSeVRA==", + "dev": true, + "requires": { + "@ethersproject/base64": "^5.0.7", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "@evocateur/libnpmaccess": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz", + "integrity": "sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg==", + "dev": true, + "requires": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0" + }, + "dependencies": { + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + } + } + }, + "@evocateur/libnpmpublish": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz", + "integrity": "sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg==", + "dev": true, + "requires": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + }, + "dependencies": { + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + } + } + }, + "@evocateur/npm-registry-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", + "integrity": "sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g==", + "dev": true, + "requires": { + "JSONStream": "^1.3.4", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@evocateur/pacote": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@evocateur/pacote/-/pacote-9.6.5.tgz", + "integrity": "sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w==", + "dev": true, + "requires": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "bluebird": "^3.5.3", + "cacache": "^12.0.3", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.5.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.4.4", + "npm-pick-manifest": "^3.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.3", + "safe-buffer": "^5.2.0", + "semver": "^5.7.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@graphql-tools/batch-delegate": { + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-delegate/-/batch-delegate-6.2.6.tgz", + "integrity": "sha512-QUoE9pQtkdNPFdJHSnBhZtUfr3M7pIRoXoMR+TG7DK2Y62ISKbT/bKtZEUU1/2v5uqd5WVIvw9dF8gHDSJAsSA==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/delegate": "^6.2.4", + "dataloader": "2.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/batch-execute": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-7.0.0.tgz", + "integrity": "sha512-+ywPfK6N2Ddna6oOa5Qb1Mv7EA8LOwRNOAPP9dL37FEhksJM9pYqPSceUcqMqg7S9b0+Cgr78s408rgvurV3/Q==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/utils": "^7.0.0", + "dataloader": "2.0.0", + "is-promise": "4.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "optional": true + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/code-file-loader": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-6.3.1.tgz", + "integrity": "sha512-ZJimcm2ig+avgsEOWWVvAaxZrXXhiiSZyYYOJi0hk9wh5BxZcLUNKkTp6EFnZE/jmGUwuos3pIjUD3Hwi3Bwhg==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/graphql-tag-pluck": "^6.5.1", + "@graphql-tools/utils": "^7.0.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/delegate": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-6.2.4.tgz", + "integrity": "sha512-mXe6DfoWmq49kPcDrpKHgC2DSWcD5q0YCaHHoXYPAOlnLH8VMTY8BxcE8y/Do2eyg+GLcwAcrpffVszWMwqw0w==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "@graphql-tools/schema": "^6.2.4", + "@graphql-tools/utils": "^6.2.4", + "dataloader": "2.0.0", + "is-promise": "4.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "optional": true + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/git-loader": { + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-6.2.6.tgz", + "integrity": "sha512-ooQTt2CaG47vEYPP3CPD+nbA0F+FYQXfzrB1Y1ABN9K3d3O2RK3g8qwslzZaI8VJQthvKwt0A95ZeE4XxteYfw==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/graphql-tag-pluck": "^6.2.6", + "@graphql-tools/utils": "^7.0.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/github-loader": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-6.2.5.tgz", + "integrity": "sha512-DLuQmYeNNdPo8oWus8EePxWCfCAyUXPZ/p1PWqjrX/NGPyH2ZObdqtDAfRHztljt0F/qkBHbGHCEk2TKbRZTRw==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/graphql-tag-pluck": "^6.2.6", + "@graphql-tools/utils": "^7.0.0", + "cross-fetch": "3.0.6", + "tslib": "~2.0.1" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/graphql-file-loader": { + "version": "6.2.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-6.2.7.tgz", + "integrity": "sha512-5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/import": "^6.2.6", + "@graphql-tools/utils": "^7.0.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/graphql-tag-pluck": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-6.5.1.tgz", + "integrity": "sha512-7qkm82iFmcpb8M6/yRgzjShtW6Qu2OlCSZp8uatA3J0eMl87TxyJoUmL3M3UMMOSundAK8GmoyNVFUrueueV5Q==", + "dev": true, + "optional": true, + "requires": { + "@babel/parser": "7.12.16", + "@babel/traverse": "7.12.13", + "@babel/types": "7.12.13", + "@graphql-tools/utils": "^7.0.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true, + "optional": true + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "optional": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "optional": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/import": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-6.3.0.tgz", + "integrity": "sha512-zmaVhJ3UPjzJSb005Pjn2iWvH+9AYRXI4IUiTi14uPupiXppJP3s7S25Si3+DbHpFwurDF2nWRxBLiFPWudCqw==", + "dev": true, + "optional": true, + "requires": { + "resolve-from": "5.0.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "optional": true + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/json-file-loader": { + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-6.2.6.tgz", + "integrity": "sha512-CnfwBSY5926zyb6fkDBHnlTblHnHI4hoBALFYXnrg0Ev4yWU8B04DZl/pBRUc459VNgO2x8/mxGIZj2hPJG1EA==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/utils": "^7.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/links": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/links/-/links-6.2.5.tgz", + "integrity": "sha512-XeGDioW7F+HK6HHD/zCeF0HRC9s12NfOXAKv1HC0J7D50F4qqMvhdS/OkjzLoBqsgh/Gm8icRc36B5s0rOA9ig==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/utils": "^7.0.0", + "apollo-link": "1.2.14", + "apollo-upload-client": "14.1.2", + "cross-fetch": "3.0.6", + "form-data": "3.0.0", + "is-promise": "4.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "dev": true, + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "optional": true + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/load": { + "version": "6.2.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-6.2.7.tgz", + "integrity": "sha512-b1qWjki1y/QvGtoqW3x8bcwget7xmMfLGsvGFWOB6m38tDbzVT3GlJViAC0nGPDks9OCoJzAdi5IYEkBaqH5GQ==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/merge": "^6.2.9", + "@graphql-tools/utils": "^7.5.0", + "globby": "11.0.2", + "import-from": "3.0.0", + "is-glob": "4.0.1", + "p-limit": "3.1.0", + "tslib": "~2.1.0", + "unixify": "1.0.0", + "valid-url": "1.0.9" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "optional": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "optional": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/load-files": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/load-files/-/load-files-6.3.1.tgz", + "integrity": "sha512-y/qGcuKWW3mSPbIHEN5csM9xM0ow479NqtEOPeC1i9wqLml82ubaPS8BzXMhB8DJa5XmrGzIZvrt03CBkQ4aJA==", + "dev": true, + "optional": true, + "requires": { + "globby": "11.0.2", + "tslib": "~2.1.0", + "unixify": "1.0.0" + }, + "dependencies": { + "globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "optional": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/merge": { + "version": "6.2.10", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.10.tgz", + "integrity": "sha512-dM3n37PcslvhOAkCz7Cwk0BfoiSVKXGmCX+VMZkATbXk/0vlxUfNEpVfA5yF4IkP27F04SzFQSaNrbD0W2Rszw==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/schema": "^7.0.0", + "@graphql-tools/utils": "^7.5.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "@graphql-tools/schema": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-7.1.3.tgz", + "integrity": "sha512-ZY76hmcJlF1iyg3Im0sQ3ASRkiShjgv102vLTVcH22lEGJeCaCyyS/GF1eUHom418S60bS8Th6+autRUxfBiBg==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/utils": "^7.1.2", + "tslib": "~2.1.0" + } + }, + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/mock": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-6.2.4.tgz", + "integrity": "sha512-O5Zvq/mcDZ7Ptky0IZ4EK9USmxV6FEVYq0Jxv2TI80kvxbCjt0tbEpZ+r1vIt1gZOXlAvadSHYyzWnUPh+1vkQ==", + "dev": true, + "optional": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "@graphql-tools/schema": "^6.2.4", + "@graphql-tools/utils": "^6.2.4", + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } } }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", + "@graphql-tools/module-loader": { + "version": "6.2.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/module-loader/-/module-loader-6.2.7.tgz", + "integrity": "sha512-ItAAbHvwfznY9h1H9FwHYDstTcm22Dr5R9GZtrWlpwqj0jaJGcBxsMB9jnK9kFqkbtFYEe4E/NsSnxsS4/vViQ==", + "dev": true, + "optional": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "@graphql-tools/utils": "^7.5.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } } }, - "@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", - "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "@graphql-tools/relay-operation-optimizer": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.3.0.tgz", + "integrity": "sha512-Or3UgRvkY9Fq1AAx7q38oPqFmTepLz7kp6wDHKyR0ceG7AvHv5En22R12mAeISInbhff4Rpwgf6cE8zHRu6bCw==", + "dev": true, + "optional": true, "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" + "@graphql-tools/utils": "^7.1.0", + "relay-compiler": "10.1.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } } }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "@graphql-tools/resolvers-composition": { + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/resolvers-composition/-/resolvers-composition-6.2.6.tgz", + "integrity": "sha512-QO0PC5RG0SolOksupOuB4B0tuzEsQFwQrwD9xLHCrJmjaLi66lOKMFzN40IBY5rqg0k/zqPyjII8rtzcNobvIg==", + "dev": true, + "optional": true, "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" + "@graphql-tools/utils": "^7.0.0", + "lodash": "4.17.21", + "tslib": "~2.1.0" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + } } }, - "@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" - }, - "@csstools/normalize.css": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz", - "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" - }, - "@ctrl/tinycolor": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz", - "integrity": "sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ==" - }, - "@evocateur/libnpmaccess": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz", - "integrity": "sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg==", + "@graphql-tools/schema": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.2.4.tgz", + "integrity": "sha512-rh+14lSY1q8IPbEv2J9x8UBFJ5NrDX9W5asXEUlPp+7vraLp/Tiox4GXdgyA92JhwpYco3nTf5Bo2JDMt1KnAQ==", "dev": true, + "optional": true, "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "npm-package-arg": "^6.1.0" + "@graphql-tools/utils": "^6.2.4", + "tslib": "~2.0.1" }, "dependencies": { - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true } } }, - "@evocateur/libnpmpublish": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz", - "integrity": "sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg==", + "@graphql-tools/stitch": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/stitch/-/stitch-6.2.4.tgz", + "integrity": "sha512-0C7PNkS7v7iAc001m7c1LPm5FUB0/DYw+s3OyCii6YYYHY8NwdI0roeOyeDGFJkFubWBQfjc3hoSyueKtU73mw==", "dev": true, + "optional": true, "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "lodash.clonedeep": "^4.5.0", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.1.0", - "semver": "^5.5.1", - "ssri": "^6.0.1" + "@graphql-tools/batch-delegate": "^6.2.4", + "@graphql-tools/delegate": "^6.2.4", + "@graphql-tools/merge": "^6.2.4", + "@graphql-tools/schema": "^6.2.4", + "@graphql-tools/utils": "^6.2.4", + "@graphql-tools/wrap": "^6.2.4", + "is-promise": "4.0.0", + "tslib": "~2.0.1" }, "dependencies": { - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true + "is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "optional": true + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true } } }, - "@evocateur/npm-registry-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", - "integrity": "sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g==", + "@graphql-tools/url-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-6.8.1.tgz", + "integrity": "sha512-iE/y9IAu0cZYL7o9IIDdGm5WjxacN25nGgVqjZINYlisW/wyuBxng7DMJBAp6yM6gkxkCpMno1ljA/52MXzVPQ==", "dev": true, + "optional": true, "requires": { - "JSONStream": "^1.3.4", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "@graphql-tools/delegate": "^7.0.1", + "@graphql-tools/utils": "^7.1.5", + "@graphql-tools/wrap": "^7.0.4", + "@types/websocket": "1.0.1", + "cross-fetch": "3.0.6", + "eventsource": "1.0.7", + "extract-files": "9.0.0", + "form-data": "4.0.0", + "graphql-upload": "^11.0.0", + "graphql-ws": "4.1.5", + "is-promise": "4.0.0", + "isomorphic-ws": "4.0.1", + "sse-z": "0.3.0", + "sync-fetch": "0.3.0", + "tslib": "~2.1.0", + "valid-url": "1.0.9", + "ws": "7.4.3" + }, + "dependencies": { + "@graphql-tools/delegate": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-7.0.10.tgz", + "integrity": "sha512-6Di9ia5ohoDvrHuhj2cak1nJGhIefJmUsd3WKZcJ2nu2yZAFawWMxGvQImqv3N7iyaWKiVhrrK8Roi/JrYhdKg==", "dev": true, + "optional": true, "requires": { - "yallist": "^3.0.2" + "@ardatan/aggregate-error": "0.0.6", + "@graphql-tools/batch-execute": "^7.0.0", + "@graphql-tools/schema": "^7.0.0", + "@graphql-tools/utils": "^7.1.6", + "dataloader": "2.0.0", + "is-promise": "4.0.0", + "tslib": "~2.1.0" } }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "@graphql-tools/schema": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-7.1.3.tgz", + "integrity": "sha512-ZY76hmcJlF1iyg3Im0sQ3ASRkiShjgv102vLTVcH22lEGJeCaCyyS/GF1eUHom418S60bS8Th6+autRUxfBiBg==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/utils": "^7.1.2", + "tslib": "~2.1.0" + } + }, + "@graphql-tools/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-YCZDDdhfb4Yhie0IH031eGdvQG8C73apDuNg6lqBNbauNw45OG/b8wi3+vuMiDnJTJN32GQUb1Gt9gxDKoRDKw==", + "dev": true, + "optional": true, + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "@graphql-tools/wrap": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-7.0.5.tgz", + "integrity": "sha512-KCWBXsDfvG46GNUawRltJL4j9BMGoOG7oo3WEyCQP+SByWXiTe5cBF45SLDVQgdjljGNZhZ4Lq/7avIkF7/zDQ==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/delegate": "^7.0.7", + "@graphql-tools/schema": "^7.1.2", + "@graphql-tools/utils": "^7.2.1", + "is-promise": "4.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "optional": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "optional": true + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "optional": true + }, + "ws": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", + "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", + "dev": true, + "optional": true } } }, - "@evocateur/pacote": { - "version": "9.6.5", - "resolved": "https://registry.npmjs.org/@evocateur/pacote/-/pacote-9.6.5.tgz", - "integrity": "sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w==", + "@graphql-tools/utils": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.2.4.tgz", + "integrity": "sha512-ybgZ9EIJE3JMOtTrTd2VcIpTXtDrn2q6eiYkeYMKRVh3K41+LZa6YnR2zKERTXqTWqhobROwLt4BZbw2O3Aeeg==", "dev": true, + "optional": true, "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "bluebird": "^3.5.3", - "cacache": "^12.0.3", - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.5.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.4.4", - "npm-pick-manifest": "^3.0.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.3", - "safe-buffer": "^5.2.0", - "semver": "^5.7.0", - "ssri": "^6.0.1", - "tar": "^4.4.10", - "unique-filename": "^1.1.1", - "which": "^1.3.1" + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.1", + "tslib": "~2.0.1" }, "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "camel-case": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", + "integrity": "sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==", "dev": true, + "optional": true, "requires": { - "yallist": "^3.0.2" + "pascal-case": "^3.1.1", + "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "optional": true + } } }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dev": true, + "optional": true, "requires": { - "glob": "^7.1.3" + "tslib": "^2.0.3" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "optional": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "optional": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } + } + }, + "@graphql-tools/wrap": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-6.2.4.tgz", + "integrity": "sha512-cyQgpybolF9DjL2QNOvTS1WDCT/epgYoiA8/8b3nwv5xmMBQ6/6nYnZwityCZ7njb7MMyk7HBEDNNlP9qNJDcA==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/delegate": "^6.2.4", + "@graphql-tools/schema": "^6.2.4", + "@graphql-tools/utils": "^6.2.4", + "is-promise": "4.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "optional": true + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true } } }, + "@graphql-typed-document-node/core": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.0.tgz", + "integrity": "sha512-wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg==", + "dev": true, + "optional": true + }, "@gulp-sourcemaps/identity-map": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz", @@ -4635,6 +6647,145 @@ "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-2.5.1.tgz", "integrity": "sha512-qIy6tLx8rtybEsIOAlrM4J/85s2q2nPkDqj/Rx46VakBZ0LwtFhXIVub96LXHczQX0vaqmAueDqNPXtbSXSaYQ==" }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", + "dev": true, + "optional": true + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true, + "optional": true + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true, + "optional": true + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", + "dev": true, + "optional": true + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "dev": true, + "optional": true, + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", + "dev": true, + "optional": true + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", + "dev": true, + "optional": true + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", + "dev": true, + "optional": true + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", + "dev": true, + "optional": true + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", + "dev": true, + "optional": true + }, + "@redux-saga/core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.1.3.tgz", + "integrity": "sha512-8tInBftak8TPzE6X13ABmEtRJGjtK17w7VUs7qV17S8hCO5S3+aUTWZ/DBsBJPdE8Z5jOPwYALyvofgq1Ws+kg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.6.3", + "@redux-saga/deferred": "^1.1.2", + "@redux-saga/delay-p": "^1.1.2", + "@redux-saga/is": "^1.1.2", + "@redux-saga/symbols": "^1.1.2", + "@redux-saga/types": "^1.1.0", + "redux": "^4.0.4", + "typescript-tuple": "^2.2.1" + }, + "dependencies": { + "redux": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", + "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + } + } + }, + "@redux-saga/deferred": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.1.2.tgz", + "integrity": "sha512-908rDLHFN2UUzt2jb4uOzj6afpjgJe3MjICaUNO3bvkV/kN/cNeI9PMr8BsFXB/MR8WTAZQq/PlTq8Kww3TBSQ==", + "dev": true + }, + "@redux-saga/delay-p": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.1.2.tgz", + "integrity": "sha512-ojc+1IoC6OP65Ts5+ZHbEYdrohmIw1j9P7HS9MOJezqMYtCDgpkoqB5enAAZrNtnbSL6gVCWPHaoaTY5KeO0/g==", + "dev": true, + "requires": { + "@redux-saga/symbols": "^1.1.2" + } + }, + "@redux-saga/is": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.2.tgz", + "integrity": "sha512-OLbunKVsCVNTKEf2cH4TYyNbbPgvmZ52iaxBD4I1fTif4+MTXMa4/Z07L83zW/hTCXwpSZvXogqMqLfex2Tg6w==", + "dev": true, + "requires": { + "@redux-saga/symbols": "^1.1.2", + "@redux-saga/types": "^1.1.0" + } + }, + "@redux-saga/symbols": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.2.tgz", + "integrity": "sha512-EfdGnF423glv3uMwLsGAtE6bg+R9MdqlHEzExnfagXPrIiuxwr3bdiAwz3gi+PsrQ3yBlaBpfGLtDG8rf3LgQQ==", + "dev": true + }, + "@redux-saga/types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.1.0.tgz", + "integrity": "sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg==", + "dev": true + }, "@sheerun/mutationobserver-shim": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz", @@ -4932,6 +7083,362 @@ "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==", "dev": true }, + "@truffle/abi-utils": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@truffle/abi-utils/-/abi-utils-0.1.5.tgz", + "integrity": "sha512-PvCN/qebM0boK2YycX3sMe6CwoLtB7cpYj2ugHPtcQ+Zpg1hQRGS+GRLeBuQg3RR5X8IxzLb4YPZh5dnJxMZYA==", + "dev": true, + "requires": { + "change-case": "3.0.2", + "faker": "^5.3.1", + "fast-check": "^2.12.1", + "source-map-support": "^0.5.19" + } + }, + "@truffle/code-utils": { + "version": "1.2.24", + "resolved": "https://registry.npmjs.org/@truffle/code-utils/-/code-utils-1.2.24.tgz", + "integrity": "sha512-IqpbTh4uNQueadv96GBWBaGTYTyOsLKE9Dui1wpiijON6xq2iIcTArej1vMh+nkAd5/AsP+enbBY8mksm6rFBg==", + "dev": true, + "requires": { + "cbor": "^5.1.0", + "source-map-support": "^0.5.19" + } + }, + "@truffle/codec": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.10.1.tgz", + "integrity": "sha512-c1lC9Wcp+Z1DLvEYH3dkEtMKnUJx72CirO3kmi0OgFSA5QqTDCtfrVOhAugcb/iMLgqUK05/pexp2whb4oASKA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "bn.js": "^5.1.3", + "cbor": "^5.1.0", + "debug": "^4.3.1", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.partition": "^4.6.0", + "lodash.sum": "^4.0.2", + "semver": "^7.3.4", + "source-map-support": "^0.5.19", + "utf8": "^3.0.0", + "web3-utils": "1.2.9" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@truffle/config": { + "version": "1.2.35", + "resolved": "https://registry.npmjs.org/@truffle/config/-/config-1.2.35.tgz", + "integrity": "sha512-ULTS9t3ldqEV1VBVNWlS9tdWJ0r637ANspzBoQd6S/Ab7CfueQhcIfp29oz6Ahcgjkl4NX+Gu/dG6/Jiys81vg==", + "dev": true, + "optional": true, + "requires": { + "@truffle/error": "^0.0.12", + "@truffle/events": "^0.0.9", + "@truffle/provider": "^0.2.26", + "configstore": "^4.0.0", + "find-up": "^2.1.0", + "lodash.assignin": "^4.2.0", + "lodash.merge": "^4.6.2", + "module": "^1.2.5", + "original-require": "^1.0.1", + "source-map-support": "^0.5.19" + }, + "dependencies": { + "configstore": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", + "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "dev": true, + "optional": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true, + "optional": true + }, + "dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "dev": true, + "optional": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true, + "optional": true + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "optional": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "optional": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true, + "optional": true + } + } + }, + "@truffle/db": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@truffle/db/-/db-0.5.4.tgz", + "integrity": "sha512-vekTc++LrUPfumqxrH6FzJ8hWTVZ+tEEs+3okKBXokAuA6Se95RxDeZPIANNS7Nsp4rsgs8IfZV4jF7UufQGOg==", + "dev": true, + "optional": true, + "requires": { + "@truffle/abi-utils": "^0.1.4", + "@truffle/code-utils": "^1.2.23", + "@truffle/config": "^1.2.35", + "apollo-server": "^2.18.2", + "debug": "^4.3.1", + "fs-extra": "^9.1.0", + "graphql": "^15.3.0", + "graphql-tag": "^2.11.0", + "graphql-tools": "^6.2.4", + "json-stable-stringify": "^1.0.1", + "jsondown": "^1.0.0", + "pascal-case": "^2.0.1", + "pluralize": "^8.0.0", + "pouchdb": "7.1.1", + "pouchdb-adapter-memory": "^7.1.1", + "pouchdb-adapter-node-websql": "^7.0.0", + "pouchdb-debug": "^7.1.1", + "pouchdb-find": "^7.0.0", + "source-map-support": "^0.5.19", + "web3-utils": "1.2.9" + }, + "dependencies": { + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "optional": true, + "requires": { + "jsonify": "~0.0.0" + } + } + } + }, + "@truffle/debugger": { + "version": "8.0.18", + "resolved": "https://registry.npmjs.org/@truffle/debugger/-/debugger-8.0.18.tgz", + "integrity": "sha512-m5OK4Ra8jz1k3R56idXXTOe2DmQfur8ZoOSNFNCu7TrPGFuktfJFVyQkJnRa+f5lHwGZODr0H7r0FSGr5ncd6Q==", + "dev": true, + "requires": { + "@truffle/abi-utils": "^0.1.5", + "@truffle/codec": "^0.10.1", + "@truffle/source-map-utils": "^1.3.35", + "bn.js": "^5.1.3", + "debug": "^4.3.1", + "json-pointer": "^0.6.0", + "json-stable-stringify": "^1.0.1", + "lodash.flatten": "^4.4.0", + "lodash.merge": "^4.6.2", + "lodash.sum": "^4.0.2", + "lodash.zipwith": "^4.2.0", + "redux": "^3.7.2", + "redux-cli-logger": "^2.0.1", + "redux-saga": "1.0.0", + "remote-redux-devtools": "^0.5.12", + "reselect-tree": "^1.3.4", + "semver": "^7.3.4", + "source-map-support": "^0.5.19", + "web3": "1.2.9", + "web3-eth-abi": "1.2.9" + }, + "dependencies": { + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "redux": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "dev": true, + "requires": { + "lodash": "^4.2.1", + "lodash-es": "^4.2.1", + "loose-envify": "^1.1.0", + "symbol-observable": "^1.0.3" + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@truffle/error": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.12.tgz", + "integrity": "sha512-kZqqnPR9YDJG7KCDOcN1qH16Qs0oz1PzF0Y93AWdhXuL9S9HYo/RUUeqGKbPpRBEZldQUS8aa4EzfK08u5pu6g==", + "dev": true, + "optional": true + }, + "@truffle/events": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/@truffle/events/-/events-0.0.9.tgz", + "integrity": "sha512-o0rS8zkjCzg2vDJymSZyyq1eKdkRbxIFnsnYQl6Bc2StK89C/ZISenxrUe2fbdeq3L9Zq+ds1mSKH/MFK0Ejkg==", + "dev": true, + "optional": true, + "requires": { + "emittery": "^0.4.1", + "ora": "^3.4.0" + } + }, + "@truffle/interface-adapter": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.4.19.tgz", + "integrity": "sha512-+Zz6Fr8+I2wYSS8RM3WBOMzf22QffMQTnlsYsRgRHzv3gYoRA9ZDLb84lFRfmWyw+IdXTo90tjRHEb5krC6uxg==", + "dev": true, + "optional": true, + "requires": { + "bn.js": "^5.1.3", + "ethers": "^4.0.32", + "source-map-support": "^0.5.19", + "web3": "1.2.9" + } + }, + "@truffle/provider": { + "version": "0.2.26", + "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.26.tgz", + "integrity": "sha512-YKPmhB9S9AQkT2ePGtadwjDduxU23DXXy+5zyM5fevw5GCbXSnf+jG6rICXjPkVFjuKBlXuq5JbuERZn43522Q==", + "dev": true, + "optional": true, + "requires": { + "@truffle/error": "^0.0.12", + "@truffle/interface-adapter": "^0.4.19", + "web3": "1.2.9" + } + }, + "@truffle/source-map-utils": { + "version": "1.3.35", + "resolved": "https://registry.npmjs.org/@truffle/source-map-utils/-/source-map-utils-1.3.35.tgz", + "integrity": "sha512-j3PHac4g/yQwxSB899lkal/YMuIXLNNlDGfCog2QrWqdtK7HJhx6X2tftwqrZzO4JTKc1Cs8KOCPOndx9W2xeQ==", + "dev": true, + "requires": { + "@truffle/code-utils": "^1.2.24", + "@truffle/codec": "^0.10.1", + "debug": "^4.3.1", + "json-pointer": "^0.6.0", + "node-interval-tree": "^1.3.3", + "web3-utils": "1.2.9" + } + }, + "@types/accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/babel__core": { "version": "7.1.13", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.13.tgz", @@ -4986,6 +7493,16 @@ "@types/node": "*" } }, + "@types/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, "@types/chai": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.4.tgz", @@ -5010,6 +7527,43 @@ "@types/chai": "*" } }, + "@types/connect": { + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", + "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg==", + "dev": true + }, + "@types/cookies": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.6.tgz", + "integrity": "sha512-FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/express": "*", + "@types/keygrip": "*", + "@types/node": "*" + } + }, + "@types/cors": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.8.tgz", + "integrity": "sha512-fO3gf3DxU2Trcbr75O7obVndW/X5k8rJNZkLXlQWStTHhP71PkRqjwPIEI0yMnJdg9R9OasjU+Bsr+Hr1xy/0w==", + "dev": true, + "optional": true, + "requires": { + "@types/express": "*" + } + }, "@types/debug": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", @@ -5035,6 +7589,39 @@ "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" }, + "@types/express": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", + "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz", + "integrity": "sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/fs-capacitor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/fs-capacitor/-/fs-capacitor-2.0.0.tgz", + "integrity": "sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@types/glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", @@ -5044,6 +7631,18 @@ "@types/node": "*" } }, + "@types/http-assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz", + "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==", + "dev": true + }, + "@types/http-errors": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.0.tgz", + "integrity": "sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA==", + "dev": true + }, "@types/istanbul-lib-coverage": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", @@ -5086,6 +7685,50 @@ "@types/node": "*" } }, + "@types/keygrip": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz", + "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==", + "dev": true + }, + "@types/koa": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.1.tgz", + "integrity": "sha512-Qbno7FWom9nNqu0yHZ6A0+RWt4mrYBhw3wpBAQ3+IuzGcLlfeYkzZrnMq5wsxulN2np8M4KKeUpTodsOsSad5Q==", + "dev": true, + "requires": { + "@types/accepts": "*", + "@types/content-disposition": "*", + "@types/cookies": "*", + "@types/http-assert": "*", + "@types/http-errors": "*", + "@types/keygrip": "*", + "@types/koa-compose": "*", + "@types/node": "*" + } + }, + "@types/koa-compose": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz", + "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==", + "dev": true, + "requires": { + "@types/koa": "*" + } + }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", + "dev": true, + "optional": true + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -5108,6 +7751,17 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==" }, + "@types/node-fetch": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, "@types/normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -5142,6 +7796,18 @@ "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" }, + "@types/qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", + "dev": true + }, "@types/react": { "version": "17.0.3", "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.3.tgz", @@ -5173,6 +7839,16 @@ "@types/node": "*" } }, + "@types/serve-static": { + "version": "1.13.9", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", + "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, "@types/sjcl": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/@types/sjcl/-/sjcl-1.0.28.tgz", @@ -5277,6 +7953,33 @@ } } }, + "@types/ungap__global-this": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@types/ungap__global-this/-/ungap__global-this-0.3.1.tgz", + "integrity": "sha512-+/DsiV4CxXl6ZWefwHZDXSe1Slitz21tom38qPCaG0DYCS1NnDPIQDTKcmQ/tvK/edJUKkmuIDBJbmKDiB0r/g==", + "dev": true, + "optional": true + }, + "@types/websocket": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.1.tgz", + "integrity": "sha512-f5WLMpezwVxCLm1xQe/kdPpQIOmL0TXYx2O15VYfYzc7hTIdxiOoOvez+McSIw3b7z/1zGovew9YSL7+h4h7/Q==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@types/ws": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.0.tgz", + "integrity": "sha512-Y29uQ3Uy+58bZrFLhX36hcI3Np37nqWE7ky5tjiDoy1GDZnIwVxS0CgF+s+1bXMzjKBFy+fqaRfb708iNzdinw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@types/yargs": { "version": "13.0.11", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", @@ -5290,6 +7993,13 @@ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" }, + "@types/zen-observable": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.2.tgz", + "integrity": "sha512-HrCIVMLjE1MOozVoD86622S7aunluLb2PJdPfb3nYiEtohm8mIB/vyv0Fd37AdeMFrTUQXEunw78YloMA3Qilg==", + "dev": true, + "optional": true + }, "@typescript-eslint/eslint-plugin": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.8.0.tgz", @@ -5349,6 +8059,13 @@ } } }, + "@ungap/global-this": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@ungap/global-this/-/global-this-0.4.4.tgz", + "integrity": "sha512-mHkm6FvepJECMNthFuIgpAEFmPOk71UyXuIxYfjytvFTnSDBIz7jmViO+LfHI/AjrazWije0PnSP3+/NlwzqtA==", + "dev": true, + "optional": true + }, "@webassemblyjs/ast": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", @@ -5507,6 +8224,36 @@ "@xtuc/long": "4.2.2" } }, + "@wry/context": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.5.4.tgz", + "integrity": "sha512-/pktJKHUXDr4D6TJqWgudOPJW2Z+Nb+bqk40jufA3uTkLbnCRKdJPiYDIa/c7mfcPH8Hr6O8zjCERpg5Sq04Zg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^1.14.1" + } + }, + "@wry/equality": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz", + "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^1.9.3" + } + }, + "@wry/trie": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.2.2.tgz", + "integrity": "sha512-OxqBB39x6MfHaa2HpMiRMfhuUnQTddD32Ko020eBeJXq87ivX6xnSSnzKHVbA21p7iqBASz8n/07b6W5wW1BVQ==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^1.14.1" + } + }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -5546,9 +8293,11 @@ } }, "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true, + "optional": true }, "abbrev": { "version": "1.1.1", @@ -5604,23 +8353,21 @@ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" }, "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", + "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", + "dev": true, + "optional": true, "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "acorn": "^2.1.0" }, "dependencies": { "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" - }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", + "dev": true, + "optional": true } } }, @@ -5712,6 +8459,11 @@ "json5": "^1.0.1" } }, + "object-path": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", + "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" + }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", @@ -6065,6 +8817,381 @@ } } }, + "apollo-cache-control": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.11.6.tgz", + "integrity": "sha512-YZ+uuIG+fPy+mkpBS2qKF0v1qlzZ3PW6xZVaDukeK3ed3iAs4L/2YnkTqau3OmoF/VPzX2FmSkocX/OVd59YSw==", + "dev": true, + "optional": true, + "requires": { + "apollo-server-env": "^3.0.0", + "apollo-server-plugin-base": "^0.10.4" + } + }, + "apollo-datasource": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.7.3.tgz", + "integrity": "sha512-PE0ucdZYjHjUyXrFWRwT02yLcx2DACsZ0jm1Mp/0m/I9nZu/fEkvJxfsryXB6JndpmQO77gQHixf/xGCN976kA==", + "dev": true, + "optional": true, + "requires": { + "apollo-server-caching": "^0.5.3", + "apollo-server-env": "^3.0.0" + } + }, + "apollo-env": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/apollo-env/-/apollo-env-0.6.6.tgz", + "integrity": "sha512-hXI9PjJtzmD34XviBU+4sPMOxnifYrHVmxpjykqI/dUD2G3yTiuRaiQqwRwB2RCdwC1Ug/jBfoQ/NHDTnnjndQ==", + "dev": true, + "optional": true, + "requires": { + "@types/node-fetch": "2.5.7", + "core-js": "^3.0.1", + "node-fetch": "^2.2.0", + "sha.js": "^2.4.11" + }, + "dependencies": { + "core-js": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz", + "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==", + "dev": true, + "optional": true + } + } + }, + "apollo-graphql": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.6.1.tgz", + "integrity": "sha512-ZRXAV+k+hboCVS+FW86FW/QgnDR7gm/xMUwJPGXEbV53OLGuQQdIT0NCYK7AzzVkCfsbb7NJ3mmEclkZY9uuxQ==", + "dev": true, + "optional": true, + "requires": { + "apollo-env": "^0.6.6", + "lodash.sortby": "^4.7.0" + } + }, + "apollo-link": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz", + "integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==", + "dev": true, + "optional": true, + "requires": { + "apollo-utilities": "^1.3.0", + "ts-invariant": "^0.4.0", + "tslib": "^1.9.3", + "zen-observable-ts": "^0.8.21" + } + }, + "apollo-reporting-protobuf": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-0.6.2.tgz", + "integrity": "sha512-WJTJxLM+MRHNUxt1RTl4zD0HrLdH44F2mDzMweBj1yHL0kSt8I1WwoiF/wiGVSpnG48LZrBegCaOJeuVbJTbtw==", + "dev": true, + "optional": true, + "requires": { + "@apollo/protobufjs": "^1.0.3" + } + }, + "apollo-server": { + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/apollo-server/-/apollo-server-2.21.2.tgz", + "integrity": "sha512-HLUeIiNDyz+KyKyqlXvZov4dj1V0/QbySqcfPpVGyCwdpf+ZAU7CVhZASNbfwmA4hh436jLhQnoIIKhfBD1kWw==", + "dev": true, + "optional": true, + "requires": { + "apollo-server-core": "^2.21.2", + "apollo-server-express": "^2.21.2", + "express": "^4.0.0", + "graphql-subscriptions": "^1.0.0", + "graphql-tools": "^4.0.8", + "stoppable": "^1.1.0" + }, + "dependencies": { + "graphql-tools": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.8.tgz", + "integrity": "sha512-MW+ioleBrwhRjalKjYaLQbr+920pHBgy9vM/n47sswtns8+96sRn5M/G+J1eu7IMeKWiN/9p6tmwCHU7552VJg==", + "dev": true, + "optional": true, + "requires": { + "apollo-link": "^1.2.14", + "apollo-utilities": "^1.0.1", + "deprecated-decorator": "^0.1.6", + "iterall": "^1.1.3", + "uuid": "^3.1.0" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "optional": true + } + } + }, + "apollo-server-caching": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.5.3.tgz", + "integrity": "sha512-iMi3087iphDAI0U2iSBE9qtx9kQoMMEWr6w+LwXruBD95ek9DWyj7OeC2U/ngLjRsXM43DoBDXlu7R+uMjahrQ==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true + } + } + }, + "apollo-server-core": { + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.21.2.tgz", + "integrity": "sha512-jIXMVQPOUzIOl4El/mzSixxJ5IDrqSk3L9uJ1U+ncwiQj0IjtkkyDSuYngcgyEi+KfO2lAzxeOiAy9fIjjkC2A==", + "dev": true, + "optional": true, + "requires": { + "@apollographql/apollo-tools": "^0.4.3", + "@apollographql/graphql-playground-html": "1.6.27", + "@apollographql/graphql-upload-8-fork": "^8.1.3", + "@types/ws": "^7.0.0", + "apollo-cache-control": "^0.11.6", + "apollo-datasource": "^0.7.3", + "apollo-graphql": "^0.6.0", + "apollo-reporting-protobuf": "^0.6.2", + "apollo-server-caching": "^0.5.3", + "apollo-server-env": "^3.0.0", + "apollo-server-errors": "^2.4.2", + "apollo-server-plugin-base": "^0.10.4", + "apollo-server-types": "^0.6.3", + "apollo-tracing": "^0.12.2", + "async-retry": "^1.2.1", + "fast-json-stable-stringify": "^2.0.0", + "graphql-extensions": "^0.12.8", + "graphql-tag": "^2.11.0", + "graphql-tools": "^4.0.8", + "loglevel": "^1.6.7", + "lru-cache": "^6.0.0", + "sha.js": "^2.4.11", + "subscriptions-transport-ws": "^0.9.11", + "uuid": "^8.0.0", + "ws": "^6.0.0" + }, + "dependencies": { + "graphql-tools": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.8.tgz", + "integrity": "sha512-MW+ioleBrwhRjalKjYaLQbr+920pHBgy9vM/n47sswtns8+96sRn5M/G+J1eu7IMeKWiN/9p6tmwCHU7552VJg==", + "dev": true, + "optional": true, + "requires": { + "apollo-link": "^1.2.14", + "apollo-utilities": "^1.0.1", + "deprecated-decorator": "^0.1.6", + "iterall": "^1.1.3", + "uuid": "^3.1.0" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "optional": true + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "optional": true + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "optional": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true + } + } + }, + "apollo-server-env": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-3.0.0.tgz", + "integrity": "sha512-tPSN+VttnPsoQAl/SBVUpGbLA97MXG990XIwq6YUnJyAixrrsjW1xYG7RlaOqetxm80y5mBZKLrRDiiSsW/vog==", + "dev": true, + "optional": true, + "requires": { + "node-fetch": "^2.1.2", + "util.promisify": "^1.0.0" + } + }, + "apollo-server-errors": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.4.2.tgz", + "integrity": "sha512-FeGxW3Batn6sUtX3OVVUm7o56EgjxDlmgpTLNyWcLb0j6P8mw9oLNyAm3B+deHA4KNdNHO5BmHS2g1SJYjqPCQ==", + "dev": true, + "optional": true + }, + "apollo-server-express": { + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.21.2.tgz", + "integrity": "sha512-5aNE1i/My8c9eBJg5uRyZSvE/NThm1X/fewcs4U5WpuEAMdmg/vf0oZnSZ8Nvmj7H8R2E5xiMkTm6Mv+MKOl9A==", + "dev": true, + "optional": true, + "requires": { + "@apollographql/graphql-playground-html": "1.6.27", + "@types/accepts": "^1.3.5", + "@types/body-parser": "1.19.0", + "@types/cors": "2.8.8", + "@types/express": "4.17.11", + "@types/express-serve-static-core": "4.17.18", + "accepts": "^1.3.5", + "apollo-server-core": "^2.21.2", + "apollo-server-types": "^0.6.3", + "body-parser": "^1.18.3", + "cors": "^2.8.4", + "express": "^4.17.1", + "graphql-subscriptions": "^1.0.0", + "graphql-tools": "^4.0.8", + "parseurl": "^1.3.2", + "subscriptions-transport-ws": "^0.9.16", + "type-is": "^1.6.16" + }, + "dependencies": { + "@types/express-serve-static-core": { + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz", + "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "graphql-tools": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.8.tgz", + "integrity": "sha512-MW+ioleBrwhRjalKjYaLQbr+920pHBgy9vM/n47sswtns8+96sRn5M/G+J1eu7IMeKWiN/9p6tmwCHU7552VJg==", + "dev": true, + "optional": true, + "requires": { + "apollo-link": "^1.2.14", + "apollo-utilities": "^1.0.1", + "deprecated-decorator": "^0.1.6", + "iterall": "^1.1.3", + "uuid": "^3.1.0" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "optional": true + } + } + }, + "apollo-server-plugin-base": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.10.4.tgz", + "integrity": "sha512-HRhbyHgHFTLP0ImubQObYhSgpmVH4Rk1BinnceZmwudIVLKrqayIVOELdyext/QnSmmzg5W7vF3NLGBcVGMqDg==", + "dev": true, + "optional": true, + "requires": { + "apollo-server-types": "^0.6.3" + } + }, + "apollo-server-types": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.6.3.tgz", + "integrity": "sha512-aVR7SlSGGY41E1f11YYz5bvwA89uGmkVUtzMiklDhZ7IgRJhysT5Dflt5IuwDxp+NdQkIhVCErUXakopocFLAg==", + "dev": true, + "optional": true, + "requires": { + "apollo-reporting-protobuf": "^0.6.2", + "apollo-server-caching": "^0.5.3", + "apollo-server-env": "^3.0.0" + } + }, + "apollo-tracing": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.12.2.tgz", + "integrity": "sha512-SYN4o0C0wR1fyS3+P0FthyvsQVHFopdmN3IU64IaspR/RZScPxZ3Ae8uu++fTvkQflAkglnFM0aX6DkZERBp6w==", + "dev": true, + "optional": true, + "requires": { + "apollo-server-env": "^3.0.0", + "apollo-server-plugin-base": "^0.10.4" + } + }, + "apollo-upload-client": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-14.1.2.tgz", + "integrity": "sha512-ozaW+4tnVz1rpfwiQwG3RCdCcZ93RV/37ZQbRnObcQ9mjb+zur58sGDPVg9Ef3fiujLmiE/Fe9kdgvIMA3VOjA==", + "dev": true, + "optional": true, + "requires": { + "@apollo/client": "^3.1.5", + "@babel/runtime": "^7.11.2", + "extract-files": "^9.0.0" + } + }, + "apollo-utilities": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz", + "integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==", + "dev": true, + "optional": true, + "requires": { + "@wry/equality": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "ts-invariant": "^0.4.0", + "tslib": "^1.10.0" + } + }, "app-module-path": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", @@ -6135,6 +9262,13 @@ } } }, + "argsarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz", + "integrity": "sha1-bnIHtOzbObCviDA/pa4ivajfYcs=", + "dev": true, + "optional": true + }, "aria-query": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", @@ -6459,6 +9593,16 @@ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" }, + "async-retry": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz", + "integrity": "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==", + "dev": true, + "optional": true, + "requires": { + "retry": "0.12.0" + } + }, "async-settle": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", @@ -6626,6 +9770,39 @@ "babylon": "^6.18.0" } }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, "babel-jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", @@ -6665,6 +9842,15 @@ } } }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -6777,6 +9963,13 @@ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==", + "dev": true, + "optional": true + }, "babel-plugin-transform-object-rest-spread": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", @@ -6791,6 +9984,42 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" }, + "babel-preset-fbjs": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz", + "integrity": "sha512-7QTLTCd2gwB2qGoi5epSULMHugSVgpcVt5YAeiFO9ABLrutDQzKfGwzxgZHLpugq8qMdg/DhRZDZ5CLKxBkEbw==", + "dev": true, + "optional": true, + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, "babel-preset-jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", @@ -6845,6 +10074,24 @@ "source-map": "^0.5.0" } }, + "@babel/plugin-proposal-class-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", + "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz", + "integrity": "sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-flow": "^7.8.3" + } + }, "@babel/plugin-transform-react-display-name": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz", @@ -6959,6 +10206,66 @@ } } }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } + }, "babelify": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", @@ -7747,11 +11054,34 @@ "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" }, + "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=", + "dev": true + }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, + "bufferutil": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", + "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", + "dev": true, + "requires": { + "node-gyp-build": "^4.2.0" + }, + "dependencies": { + "node-gyp-build": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", + "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", + "dev": true + } + } + }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", @@ -7763,6 +11093,16 @@ "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", "dev": true }, + "busboy": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz", + "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==", + "dev": true, + "optional": true, + "requires": { + "dicer": "0.3.0" + } + }, "byline": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", @@ -7949,19 +11289,13 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, "camelcase": { @@ -8008,9 +11342,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001202", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001202.tgz", - "integrity": "sha512-ZcijQNqrcF8JNLjzvEiXqX4JUYxoZa7Pvcsd9UD8Kz4TvhTonOSNRsK+qtvpVL4l6+T1Rh4LFtLfnNWg6BGWCQ==" + "version": "1.0.30001203", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001203.tgz", + "integrity": "sha512-/I9tvnzU/PHMH7wBPrfDMSuecDeUKerjCPX7D0xBbaJZPxoT9m+yYxt0zCTkcijCkjTdim3H56Zm0i5Adxch4w==" }, "capture-exit": { "version": "2.0.0", @@ -8030,6 +11364,16 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, + "cbor": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", + "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", + "dev": true, + "requires": { + "bignumber.js": "^9.0.1", + "nofilter": "^1.0.4" + } + }, "chai": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", @@ -8075,6 +11419,32 @@ "supports-color": "^5.3.0" } }, + "change-case": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz", + "integrity": "sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==", + "dev": true, + "requires": { + "camel-case": "^3.0.0", + "constant-case": "^2.0.0", + "dot-case": "^2.1.0", + "header-case": "^1.0.0", + "is-lower-case": "^1.1.0", + "is-upper-case": "^1.1.0", + "lower-case": "^1.1.1", + "lower-case-first": "^1.0.0", + "no-case": "^2.3.2", + "param-case": "^2.1.0", + "pascal-case": "^2.0.0", + "path-case": "^2.1.0", + "sentence-case": "^2.1.0", + "snake-case": "^2.1.0", + "swap-case": "^1.1.0", + "title-case": "^2.1.0", + "upper-case": "^1.1.1", + "upper-case-first": "^1.1.0" + } + }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", @@ -8086,6 +11456,20 @@ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, + "cheerio": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", + "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", + "dev": true, + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + } + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -8491,6 +11875,13 @@ "restore-cursor": "^3.1.0" } }, + "cli-spinners": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", + "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "dev": true, + "optional": true + }, "cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", @@ -8649,6 +12040,12 @@ "color-name": "1.1.3" } }, + "color-logger": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/color-logger/-/color-logger-0.0.6.tgz", + "integrity": "sha1-5WJF7ymCJlcRDHy3WpzXhstp7Rs=", + "dev": true + }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", @@ -8935,6 +12332,16 @@ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, + "constant-case": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", + "integrity": "sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=", + "dev": true, + "requires": { + "snake-case": "^2.1.0", + "upper-case": "^1.1.1" + } + }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -8953,6 +12360,63 @@ "safe-buffer": "5.1.2" } }, + "content-hash": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", + "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", + "dev": true, + "requires": { + "cids": "^0.7.1", + "multicodec": "^0.5.5", + "multihashes": "^0.4.15" + }, + "dependencies": { + "cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "dependencies": { + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "dev": true, + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + } + } + }, + "multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "dev": true, + "requires": { + "varint": "^5.0.0" + } + } + } + }, "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", @@ -9366,6 +12830,12 @@ "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==", + "dev": true + }, "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", @@ -9537,6 +13007,16 @@ "sha.js": "^2.4.8" } }, + "cross-fetch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", + "integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==", + "dev": true, + "optional": true, + "requires": { + "node-fetch": "2.6.1" + } + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -9683,14 +13163,15 @@ } }, "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" } }, "css-select-base-adapter": { @@ -9715,9 +13196,10 @@ } }, "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true }, "css.escape": { "version": "1.5.1", @@ -9734,6 +13216,13 @@ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, + "cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=", + "dev": true, + "optional": true + }, "cssnano": { "version": "4.1.10", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", @@ -9840,9 +13329,11 @@ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" }, "cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true, + "optional": true, "requires": { "cssom": "0.3.x" } @@ -9984,8 +13475,22 @@ "abab": "^2.0.0", "whatwg-mimetype": "^2.2.0", "whatwg-url": "^7.0.0" + }, + "dependencies": { + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + } } }, + "dataloader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.0.0.tgz", + "integrity": "sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ==", + "dev": true, + "optional": true + }, "datastore-core": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.7.0.tgz", @@ -10469,6 +13974,13 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "deprecated-decorator": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz", + "integrity": "sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=", + "dev": true, + "optional": true + }, "deprecation": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", @@ -10513,6 +14025,13 @@ "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", "dev": true }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true, + "optional": true + }, "detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", @@ -10574,6 +14093,16 @@ "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", "dev": true }, + "dicer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", + "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", + "dev": true, + "optional": true, + "requires": { + "streamsearch": "0.1.2" + } + }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -10697,21 +14226,20 @@ } }, "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" - } + "domelementtype": "^1.3.0", + "entities": "^1.1.1" } }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -10739,28 +14267,21 @@ } }, "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { "dom-serializer": "0", "domelementtype": "1" } }, "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", + "integrity": "sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=", + "dev": true, "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } + "no-case": "^2.2.0" } }, "dot-prop": { @@ -10781,6 +14302,13 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, + "double-ended-queue": { + "version": "2.1.0-0", + "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", + "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=", + "dev": true, + "optional": true + }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -10893,6 +14421,13 @@ } } }, + "emittery": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.4.1.tgz", + "integrity": "sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ==", + "dev": true, + "optional": true + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -10963,6 +14498,16 @@ "once": "^1.4.0" } }, + "end-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/end-stream/-/end-stream-0.1.0.tgz", + "integrity": "sha1-MgA/P0OKKwFDFoE3+PpumGbIHtU=", + "dev": true, + "optional": true, + "requires": { + "write-stream": "~0.4.3" + } + }, "engine.io": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", @@ -11065,9 +14610,9 @@ "dev": true }, "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, "env-paths": { "version": "2.2.1", @@ -11172,6 +14717,13 @@ "next-tick": "~1.0.0" } }, + "es6-denodeify": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-denodeify/-/es6-denodeify-0.1.5.tgz", + "integrity": "sha1-MdTV/pxVA+ElRgQ5MQ4WoqPznB8=", + "dev": true, + "optional": true + }, "es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", @@ -11259,6 +14811,65 @@ } } }, + "esdoc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/esdoc/-/esdoc-1.1.0.tgz", + "integrity": "sha512-vsUcp52XJkOWg9m1vDYplGZN2iDzvmjDL5M/Mp8qkoDG3p2s0yIQCIjKR5wfPBaM3eV14a6zhQNYiNTCVzPnxA==", + "dev": true, + "requires": { + "babel-generator": "6.26.1", + "babel-traverse": "6.26.0", + "babylon": "6.18.0", + "cheerio": "1.0.0-rc.2", + "color-logger": "0.0.6", + "escape-html": "1.0.3", + "fs-extra": "5.0.0", + "ice-cap": "0.0.4", + "marked": "0.3.19", + "minimist": "1.2.0", + "taffydb": "2.7.3" + }, + "dependencies": { + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, "eslint": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz", @@ -11452,22 +15063,24 @@ } }, "eslint-plugin-import": { - "version": "2.18.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", - "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, "requires": { - "array-includes": "^3.0.3", + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", "contains-path": "^0.1.0", "debug": "^2.6.9", "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.0", "has": "^1.0.3", "minimatch": "^3.0.4", - "object.values": "^1.1.0", + "object.values": "^1.1.1", "read-pkg-up": "^2.0.0", - "resolve": "^1.11.0" + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" }, "dependencies": { "debug": { @@ -11651,6 +15264,66 @@ "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=", + "dev": true, + "requires": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + } + }, + "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==", + "dev": true, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, + "ethereum-bloom-filters": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.9.tgz", + "integrity": "sha512-GiK/RQkAkcVaEdxKVkPcG07PQ5vD7v2MFSHgZmBJSfMzNRHimntdBithsHAT89tAXnIpzVDWt8iaCD1DvkaxGg==", + "dev": true, + "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==", + "dev": true + } + } + }, "ethereum-cryptography": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", @@ -11991,6 +15664,24 @@ } } }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "dev": true, + "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=", + "dev": true + } + } + }, "ethjs-util": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", @@ -12048,9 +15739,9 @@ "dev": true }, "eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", "requires": { "original": "^1.0.0" } @@ -12133,6 +15824,62 @@ } } }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "optional": true, + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -12341,11 +16088,24 @@ "parse-code-context": "^1.0.0" } }, + "extract-files": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", + "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==", + "dev": true, + "optional": true + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, + "faker": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/faker/-/faker-5.4.0.tgz", + "integrity": "sha512-Y9n/Ky/xZx/Bj8DePvXspUYRtHl/rGQytoIT5LaxmNwSe3wWyOeOXb3lT6Dpipq240PVpeFaGKzScz/5fvff2g==", + "dev": true + }, "fancy-log": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", @@ -12358,6 +16118,15 @@ "time-stamp": "^1.0.0" } }, + "fast-check": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-2.14.0.tgz", + "integrity": "sha512-4hm0ioyEVCwgjBLBqriwAFYu3/yc7pNH9fBfvzi6JRWRs4R3mwZwrr/d4MHbY0fTBJ0Uakg4TaMAAQ8Cnt2+KQ==", + "dev": true, + "requires": { + "pure-rand": "^4.1.1" + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -12368,6 +16137,13 @@ "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.0.0.tgz", "integrity": "sha512-4VEXmjxLj7sbs8J//cn2qhRap50dGzF5n8fjay8mau+Jn4hxSeR3xPFwxMaQq/pDaq7+KQk0PAbC2+nWDkJrmQ==" }, + "fast-future": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fast-future/-/fast-future-1.0.2.tgz", + "integrity": "sha1-hDWpqqAteSSNF9cE52JZMB2ZKAo=", + "dev": true, + "optional": true + }, "fast-glob": { "version": "3.2.5", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", @@ -12435,6 +16211,49 @@ "bser": "2.1.1" } }, + "fbjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz", + "integrity": "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==", + "dev": true, + "optional": true, + "requires": { + "cross-fetch": "^3.0.4", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true, + "optional": true + } + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==", + "dev": true, + "optional": true + }, + "fetch-cookie": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-0.7.0.tgz", + "integrity": "sha512-Mm5pGlT3agW6t71xVM7vMZPIvI7T4FaTuFW4jari6dVzYHFDb3WZZsGpN22r/o3XMdkM0E7sPd1EGeyVbH2Tgg==", + "dev": true, + "optional": true, + "requires": { + "es6-denodeify": "^0.1.1", + "tough-cookie": "^2.3.1" + } + }, "figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", @@ -12482,6 +16301,13 @@ "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==" }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true, + "optional": true + }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -12741,6 +16567,13 @@ "parse-filepath": "^1.0.1" } }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true, + "optional": true + }, "flagged-respawn": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", @@ -12820,6 +16653,14 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==" }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -12834,6 +16675,12 @@ "for-in": "^1.0.1" } }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -13047,6 +16894,13 @@ "readable-stream": "^2.0.0" } }, + "fs-capacitor": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-2.0.4.tgz", + "integrity": "sha512-8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==", + "dev": true, + "optional": true + }, "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -14462,6 +18316,12 @@ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" }, + "get-params": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/get-params/-/get-params-0.1.2.tgz", + "integrity": "sha1-uuDfq6WIoMYNeDTA2Nwv9g7u8v4=", + "dev": true + }, "get-pkg-repo": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", @@ -15063,6 +18923,46 @@ "path-is-absolute": "^1.0.0" } }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "optional": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "optional": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, "glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -15130,6 +19030,16 @@ "object.defaults": "^1.1.0" } }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, "global-dirs": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", @@ -15245,6 +19155,141 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, + "graphql": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", + "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", + "dev": true, + "optional": true + }, + "graphql-extensions": { + "version": "0.12.8", + "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.12.8.tgz", + "integrity": "sha512-xjsSaB6yKt9jarFNNdivl2VOx52WySYhxPgf8Y16g6GKZyAzBoIFiwyGw5PJDlOSUa6cpmzn6o7z8fVMbSAbkg==", + "dev": true, + "optional": true, + "requires": { + "@apollographql/apollo-tools": "^0.4.3", + "apollo-server-env": "^3.0.0", + "apollo-server-types": "^0.6.3" + } + }, + "graphql-subscriptions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.2.1.tgz", + "integrity": "sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==", + "dev": true, + "optional": true, + "requires": { + "iterall": "^1.3.0" + } + }, + "graphql-tag": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.11.0.tgz", + "integrity": "sha512-VmsD5pJqWJnQZMUeRwrDhfgoyqcfwEkvtpANqcoUG8/tOLkwNgU9mzub/Mc78OJMhHjx7gfAMTxzdG43VGg3bA==", + "dev": true, + "optional": true + }, + "graphql-tools": { + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-6.2.6.tgz", + "integrity": "sha512-OyhSvK5ALVVD6bFiWjAqv2+lRyvjIRfb6Br5Tkjrv++rxnXDodPH/zhMbDGRw+W3SD5ioGEEz84yO48iPiN7jA==", + "dev": true, + "optional": true, + "requires": { + "@graphql-tools/batch-delegate": "^6.2.6", + "@graphql-tools/code-file-loader": "^6.2.4", + "@graphql-tools/delegate": "^6.2.4", + "@graphql-tools/git-loader": "^6.2.4", + "@graphql-tools/github-loader": "^6.2.4", + "@graphql-tools/graphql-file-loader": "^6.2.4", + "@graphql-tools/graphql-tag-pluck": "^6.2.4", + "@graphql-tools/import": "^6.2.4", + "@graphql-tools/json-file-loader": "^6.2.4", + "@graphql-tools/links": "^6.2.4", + "@graphql-tools/load": "^6.2.4", + "@graphql-tools/load-files": "^6.2.4", + "@graphql-tools/merge": "^6.2.4", + "@graphql-tools/mock": "^6.2.4", + "@graphql-tools/module-loader": "^6.2.4", + "@graphql-tools/relay-operation-optimizer": "^6.2.4", + "@graphql-tools/resolvers-composition": "^6.2.4", + "@graphql-tools/schema": "^6.2.4", + "@graphql-tools/stitch": "^6.2.4", + "@graphql-tools/url-loader": "^6.2.4", + "@graphql-tools/utils": "^6.2.4", + "@graphql-tools/wrap": "^6.2.4", + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true, + "optional": true + } + } + }, + "graphql-upload": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/graphql-upload/-/graphql-upload-11.0.0.tgz", + "integrity": "sha512-zsrDtu5gCbQFDWsNa5bMB4nf1LpKX9KDgh+f8oL1288ijV4RxeckhVozAjqjXAfRpxOHD1xOESsh6zq8SjdgjA==", + "dev": true, + "optional": true, + "requires": { + "busboy": "^0.3.1", + "fs-capacitor": "^6.1.0", + "http-errors": "^1.7.3", + "isobject": "^4.0.0", + "object-path": "^0.11.4" + }, + "dependencies": { + "fs-capacitor": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-6.2.0.tgz", + "integrity": "sha512-nKcE1UduoSKX27NSZlg879LdQc94OtbOsEmKMN2MBNudXREvijRKx2GEBsTMTfws+BrbkJoEuynbGSVRSpauvw==", + "dev": true, + "optional": true + }, + "http-errors": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", + "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", + "dev": true, + "optional": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "dev": true, + "optional": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "optional": true + } + } + }, + "graphql-ws": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-4.1.5.tgz", + "integrity": "sha512-yUQ1AjegD1Y9jDS699kyw7Mw+9H+rILm2HoS8N5a5B5YTH93xy3yifFhAJpKGc2wb/8yGdlVy8gTcud0TPqi6Q==", + "dev": true, + "optional": true + }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -15578,11 +19623,26 @@ "sparkles": "^1.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==", + "dev": true + }, "has-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, + "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==", + "dev": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -15695,6 +19755,16 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, + "header-case": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", + "integrity": "sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.3" + } + }, "heap": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", @@ -15815,10 +19885,68 @@ "terser": "^4.6.3" }, "dependencies": { + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, "commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, @@ -15865,11 +19993,6 @@ "readable-stream": "^3.1.1" }, "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -15912,6 +20035,12 @@ } } }, + "http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=", + "dev": true + }, "http-parser-js": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", @@ -16228,6 +20357,92 @@ "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", "dev": true }, + "ice-cap": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ice-cap/-/ice-cap-0.0.4.tgz", + "integrity": "sha1-im0xq0ysjUtW3k+pRt8zUlYbbhg=", + "dev": true, + "requires": { + "cheerio": "0.20.0", + "color-logger": "0.0.3" + }, + "dependencies": { + "cheerio": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", + "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", + "dev": true, + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "~3.8.1", + "jsdom": "^7.0.2", + "lodash": "^4.1.0" + } + }, + "color-logger": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/color-logger/-/color-logger-0.0.3.tgz", + "integrity": "sha1-2bIt0dlz4Waxi/MT+fSBu6TfIBg=", + "dev": true + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + }, + "dependencies": { + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + } + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -16252,6 +20467,23 @@ "harmony-reflect": "^1.4.6" } }, + "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==", + "dev": true, + "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=", + "dev": true + } + } + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -16288,12 +20520,34 @@ "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==" }, + "immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=", + "dev": true, + "optional": true + }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", "requires": { "import-from": "^2.1.0" + }, + "dependencies": { + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } } }, "import-fresh": { @@ -16306,17 +20560,21 @@ } }, "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "optional": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "^5.0.0" }, "dependencies": { "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "optional": true } } }, @@ -18191,11 +22449,28 @@ "integrity": "sha1-9uszsUpJdUHcpYM1E31EZuDCDaE=", "dev": true }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true, + "optional": true + }, "is-electron": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "optional": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -18223,6 +22498,12 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, + "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==", + "dev": true + }, "is-generator-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", @@ -18298,6 +22579,15 @@ } } }, + "is-lower-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", + "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=", + "dev": true, + "requires": { + "lower-case": "^1.1.0" + } + }, "is-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", @@ -18335,6 +22625,12 @@ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true + }, "is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", @@ -18377,6 +22673,20 @@ "isobject": "^3.0.1" } }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true, + "optional": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true, + "optional": true + }, "is-promise": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", @@ -18411,6 +22721,12 @@ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" }, + "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==", + "dev": true + }, "is-root": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", @@ -18479,6 +22795,15 @@ "unc-path-regex": "^0.1.2" } }, + "is-upper-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", + "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=", + "dev": true, + "requires": { + "upper-case": "^1.1.0" + } + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -18567,6 +22892,13 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, + "isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "dev": true, + "optional": true + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -18692,6 +23024,16 @@ "textextensions": "2" } }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, "it-all": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.5.tgz", @@ -18960,6 +23302,13 @@ "string_decoder": "^1.2.0" } }, + "iterall": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", + "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==", + "dev": true, + "optional": true + }, "iterate-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", @@ -19307,6 +23656,108 @@ "jest-mock": "^24.9.0", "jest-util": "^24.9.0", "jsdom": "^11.5.1" + }, + "dependencies": { + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + } + } + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "requires": { + "cssom": "0.3.x" + } + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + } } }, "jest-environment-jsdom-fourteen": { @@ -19322,11 +23773,38 @@ "jsdom": "^14.1.0" }, "dependencies": { + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, "acorn": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "requires": { + "cssom": "0.3.x" + } + }, "jsdom": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", @@ -19372,6 +23850,11 @@ "requires": { "async-limiter": "~1.0.0" } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" } } }, @@ -20096,6 +24579,12 @@ "esprima": "^4.0.0" } }, + "jsan": { + "version": "3.1.13", + "resolved": "https://registry.npmjs.org/jsan/-/jsan-3.1.13.tgz", + "integrity": "sha512-9kGpCsGHifmw6oJet+y8HaCl14y7qgAsxVdV3pCHDySNR3BfDC30zgkssd7x5LRVAT22dnpbe9JdzzmXZnq9/g==", + "dev": true + }, "jsbn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", @@ -20103,60 +24592,49 @@ "dev": true }, "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz", + "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", + "dev": true, + "optional": true, "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" + "abab": "^1.0.0", + "acorn": "^2.4.0", + "acorn-globals": "^1.0.4", + "cssom": ">= 0.3.0 < 0.4.0", + "cssstyle": ">= 0.2.29 < 0.3.0", + "escodegen": "^1.6.1", + "nwmatcher": ">= 1.3.7 < 2.0.0", + "parse5": "^1.5.1", + "request": "^2.55.0", + "sax": "^1.1.4", + "symbol-tree": ">= 3.1.0 < 4.0.0", + "tough-cookie": "^2.2.0", + "webidl-conversions": "^2.0.0", + "whatwg-url-compat": "~0.6.5", + "xml-name-validator": ">= 2.0.1 < 3.0.0" }, "dependencies": { "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", + "dev": true, + "optional": true }, - "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } + "parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", + "dev": true, + "optional": true }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "requires": { - "async-limiter": "~1.0.0" - } + "webidl-conversions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", + "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", + "dev": true, + "optional": true } } }, @@ -20181,6 +24659,15 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, + "json-pointer": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.1.tgz", + "integrity": "sha512-3OvjqKdCBvH41DLpV4iSt6v2XhZXV1bPB4OROuknvUXI7ZQNofieCPkmE26stEJ9zdQuvIxDHCuYhfgxFAAs+Q==", + "dev": true, + "requires": { + "foreach": "^2.0.4" + } + }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -20249,6 +24736,36 @@ "diff-match-patch": "^1.0.0" } }, + "jsondown": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jsondown/-/jsondown-1.0.0.tgz", + "integrity": "sha512-p6XxPaq59aXwcdDQV3ISMA5xk+1z6fJuctcwwSdR9iQgbYOcIrnknNrhcMGG+0FaUfKHGkdDpQNaZrovfBoyOw==", + "dev": true, + "optional": true, + "requires": { + "memdown": "1.4.1", + "mkdirp": "0.5.1" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true, + "optional": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + } + } + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -20829,6 +25346,13 @@ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" }, + "lazy-debug-legacy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz", + "integrity": "sha1-U3cWwHduTPeePtG2IfdljCkRsbE=", + "dev": true, + "optional": true + }, "lazystream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", @@ -21070,6 +25594,16 @@ "xtend": "^4.0.2" } }, + "level-write-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/level-write-stream/-/level-write-stream-1.0.0.tgz", + "integrity": "sha1-P3+7Z5pVE3wP6zA97nZuEu4Twdw=", + "dev": true, + "optional": true, + "requires": { + "end-stream": "~0.1.0" + } + }, "level-ws": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", @@ -22056,6 +26590,12 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" }, + "linked-list": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/linked-list/-/linked-list-0.1.0.tgz", + "integrity": "sha1-eYsP+X0bkqT9CEgPVa6k6dSdN78=", + "dev": true + }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", @@ -22152,23 +26692,62 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, "lodash._reinterpolate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true, + "optional": true + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=", + "dev": true, + "optional": true + }, + "lodash.assigninwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assigninwith/-/lodash.assigninwith-4.2.0.tgz", + "integrity": "sha1-rwLJhDKshtk9ppW0voAUAZcXNq8=", + "dev": true, + "optional": true + }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, + "lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", + "dev": true + }, "lodash.find": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=", "dev": true }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", @@ -22191,6 +26770,13 @@ "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true, + "optional": true + }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", @@ -22217,6 +26803,13 @@ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" }, + "lodash.keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.2.0.tgz", + "integrity": "sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU=", + "dev": true, + "optional": true + }, "lodash.mapvalues": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", @@ -22252,12 +26845,25 @@ "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=", "dev": true }, + "lodash.partition": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.partition/-/lodash.partition-4.6.0.tgz", + "integrity": "sha1-o45GtzRp4EILDaEhLmbUFL42S6Q=", + "dev": true + }, "lodash.repeat": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", "integrity": "sha1-/H3oEx2MisB+S0n3T/6CnR8r7EQ=", "dev": true }, + "lodash.rest": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz", + "integrity": "sha1-lU73UEkmIDjJbR/Jiyj9r58Hcqo=", + "dev": true, + "optional": true + }, "lodash.set": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", @@ -22269,6 +26875,12 @@ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" }, + "lodash.sum": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/lodash.sum/-/lodash.sum-4.0.2.tgz", + "integrity": "sha1-rZDjl5ZdgD1PH/eqWy0Bl/O0Y3s=", + "dev": true + }, "lodash.template": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", @@ -22292,6 +26904,13 @@ "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=", "dev": true }, + "lodash.tostring": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.4.tgz", + "integrity": "sha1-Vgwn0fjq3eA8LM4Zj+9cAx2CmPs=", + "dev": true, + "optional": true + }, "lodash.unescape": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", @@ -22303,6 +26922,12 @@ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, + "lodash.zipwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.zipwith/-/lodash.zipwith-4.2.0.tgz", + "integrity": "sha1-r6zwP9LzhK8p4mPDxr2juA4/Uf0=", + "dev": true + }, "log-symbols": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", @@ -22330,6 +26955,13 @@ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true, + "optional": true + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -22349,18 +26981,18 @@ } }, "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lower-case-first": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", + "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=", + "dev": true, "requires": { - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } + "lower-case": "^1.1.2" } }, "lowercase-keys": { @@ -22693,6 +27325,13 @@ } } }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true, + "optional": true + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -23249,6 +27888,15 @@ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, "min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -23886,12 +28534,688 @@ } } }, + "mock-fs": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.13.0.tgz", + "integrity": "sha512-DD0vOdofJdoaRNtnWcrXe6RQbpHkPPmtqGq14uRX0F8ZKJ5nv89CVTYl/BZdppDxBDaV0hl75htg3abpEWlPZA==", + "dev": true + }, "modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true }, + "module": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/module/-/module-1.2.5.tgz", + "integrity": "sha1-tQPrBs3BNHP1aBhCaXTN5+xZvxU=", + "dev": true, + "optional": true, + "requires": { + "chalk": "1.1.3", + "concat-stream": "1.5.1", + "lodash.template": "4.2.4", + "map-stream": "0.0.6", + "tildify": "1.2.0", + "vinyl-fs": "2.4.3", + "yargs": "4.6.0" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "optional": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true, + "optional": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "optional": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true, + "optional": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true, + "optional": true + }, + "concat-stream": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", + "integrity": "sha1-87gKz54fSOOHXAaItBtsMWAu6hw=", + "dev": true, + "optional": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-fabulous": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-0.0.4.tgz", + "integrity": "sha1-+gccXYdIRoVCSAdCHKSxawsaB2M=", + "dev": true, + "optional": true, + "requires": { + "debug": "2.X", + "lazy-debug-legacy": "0.0.X", + "object-assign": "4.1.0" + }, + "dependencies": { + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true, + "optional": true + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "optional": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "optional": true + } + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "optional": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "glob-stream": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", + "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", + "dev": true, + "optional": true, + "requires": { + "extend": "^3.0.0", + "glob": "^5.0.3", + "glob-parent": "^3.0.0", + "micromatch": "^2.3.7", + "ordered-read-streams": "^0.3.0", + "through2": "^0.6.0", + "to-absolute-glob": "^0.1.1", + "unique-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "gulp-sourcemaps": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.12.1.tgz", + "integrity": "sha1-tDfR89mAzyboEYSCNxjOFa5ll7Y=", + "dev": true, + "optional": true, + "requires": { + "@gulp-sourcemaps/map-sources": "1.X", + "acorn": "4.X", + "convert-source-map": "1.X", + "css": "2.X", + "debug-fabulous": "0.0.X", + "detect-newline": "2.X", + "graceful-fs": "4.X", + "source-map": "~0.6.0", + "strip-bom": "2.X", + "through2": "2.X", + "vinyl": "1.X" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + }, + "is-valid-glob": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", + "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", + "dev": true, + "optional": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "lodash.template": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.2.4.tgz", + "integrity": "sha1-0FPBno50442WW/T7SV2A8Qnn96Q=", + "dev": true, + "optional": true, + "requires": { + "lodash._reinterpolate": "~3.0.0", + "lodash.assigninwith": "^4.0.0", + "lodash.keys": "^4.0.0", + "lodash.rest": "^4.0.0", + "lodash.templatesettings": "^4.0.0", + "lodash.tostring": "^4.0.0" + } + }, + "map-stream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.6.tgz", + "integrity": "sha1-0u9OuBGihkTHqJiZhcacL91JaCc=", + "dev": true, + "optional": true + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "optional": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "optional": true + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "ordered-read-streams": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", + "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", + "dev": true, + "optional": true, + "requires": { + "is-stream": "^1.0.1", + "readable-stream": "^2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "optional": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true, + "optional": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "optional": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "optional": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "optional": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "optional": true + }, + "through2-filter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", + "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", + "dev": true, + "optional": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "to-absolute-glob": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", + "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1" + } + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "optional": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + } + }, + "vinyl-fs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.3.tgz", + "integrity": "sha1-PZflYuv91LZpId6nBia4S96dLQc=", + "dev": true, + "optional": true, + "requires": { + "duplexify": "^3.2.0", + "glob-stream": "^5.3.2", + "graceful-fs": "^4.0.0", + "gulp-sourcemaps": "^1.5.2", + "is-valid-glob": "^0.3.0", + "lazystream": "^1.0.0", + "lodash.isequal": "^4.0.0", + "merge-stream": "^1.0.0", + "mkdirp": "^0.5.0", + "object-assign": "^4.0.0", + "readable-stream": "^2.0.4", + "strip-bom": "^2.0.0", + "strip-bom-stream": "^1.0.0", + "through2": "^2.0.0", + "through2-filter": "^2.0.0", + "vali-date": "^1.0.0", + "vinyl": "^1.0.0" + } + }, + "yargs": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.6.0.tgz", + "integrity": "sha1-y0BQwBWb+2u2ScD0r1UFJqhGGdw=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "^2.0.1", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "lodash.assign": "^4.0.3", + "os-locale": "^1.4.0", + "pkg-conf": "^1.1.2", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1", + "string-width": "^1.0.1", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^2.4.0" + } + }, + "yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "^3.0.0", + "lodash.assign": "^4.0.6" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "optional": true + } + } + } + } + }, "module-deps": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", @@ -24190,6 +29514,12 @@ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" }, + "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=", + "dev": true + }, "nanoid": { "version": "3.1.22", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz", @@ -24224,6 +29554,30 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, + "needle": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz", + "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -24258,19 +29612,12 @@ } }, "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } + "lower-case": "^1.1.1" } }, "node-addon-api": { @@ -24351,6 +29698,15 @@ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" }, + "node-interval-tree": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-interval-tree/-/node-interval-tree-1.3.3.tgz", + "integrity": "sha512-K9vk96HdTK5fEipJwxSvIIqwTqr4e3HRJeJrNxBSeVMNSC/JWARRaX7etOLOuTmrRMeOI/K5TCJu3aWIwZiNTw==", + "dev": true, + "requires": { + "shallowequal": "^1.0.2" + } + }, "node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", @@ -24462,11 +29818,55 @@ } } }, + "node-pre-gyp": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", + "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "node-releases": { "version": "1.1.71", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" }, + "nofilter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", + "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", + "dev": true + }, + "noop-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/noop-fn/-/noop-fn-1.0.0.tgz", + "integrity": "sha1-XzPUfxPSFQ35PgywNmmemC94/78=", + "dev": true, + "optional": true + }, "nopt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", @@ -28123,6 +33523,13 @@ "boolbase": "~1.0.0" } }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "dev": true, + "optional": true + }, "num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", @@ -28133,6 +33540,31 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, + "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=", + "dev": true, + "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=", + "dev": true + } + } + }, + "nwmatcher": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", + "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", + "dev": true, + "optional": true + }, "nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", @@ -28207,9 +33639,11 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-path": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", - "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.5.tgz", + "integrity": "sha512-jgSbThcoR/s+XumvGMTMf81QVBmah+/Q7K7YduKeKVWL7N111unR2d6pZZarSk6kY/caeNxUDyxOvMWyzoU2eg==", + "dev": true, + "optional": true }, "object-visit": { "version": "1.0.1", @@ -28284,6 +33718,29 @@ "make-iterator": "^1.0.0" } }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "optional": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "optional": true, + "requires": { + "for-in": "^1.0.1" + } + } + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -28313,6 +33770,15 @@ "has": "^1.0.3" } }, + "oboe": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", + "integrity": "sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY=", + "dev": true, + "requires": { + "http-https": "^1.0.0" + } + }, "observable-webworkers": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/observable-webworkers/-/observable-webworkers-1.0.0.tgz", @@ -28397,6 +33863,17 @@ } } }, + "optimism": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.14.1.tgz", + "integrity": "sha512-7+1lSN+LJEtaj3uBLLFk8uFCFKy3txLvcvln5Dh1szXjF9yghEMeWclmnk0qdtYZ+lcMNyu48RmQQRw+LRYKSQ==", + "dev": true, + "optional": true, + "requires": { + "@wry/context": "^0.5.2", + "@wry/trie": "^0.2.1" + } + }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", @@ -28444,6 +33921,71 @@ "word-wrap": "~1.2.3" } }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "optional": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "optional": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "optional": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "optional": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + } + } + }, "ordered-read-streams": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", @@ -28779,19 +34321,12 @@ } }, "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } + "no-case": "^2.2.0" } }, "parent-module": { @@ -28851,6 +34386,38 @@ "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", "dev": true }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "optional": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "optional": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, "parse-headers": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", @@ -28921,9 +34488,13 @@ } }, "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "requires": { + "@types/node": "*" + } }, "parseqs": { "version": "0.0.6", @@ -28943,19 +34514,13 @@ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", + "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=", + "dev": true, "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } + "camel-case": "^3.0.0", + "upper-case-first": "^1.1.0" } }, "pascalcase": { @@ -28968,6 +34533,15 @@ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" }, + "path-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", + "integrity": "sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", @@ -29229,6 +34803,66 @@ "node-modules-regexp": "^1.0.0" } }, + "pkg-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-1.1.3.tgz", + "integrity": "sha1-N45W1v0T6Iv7b0ol33qD+qvduls=", + "dev": true, + "optional": true, + "requires": { + "find-up": "^1.0.0", + "load-json-file": "^1.1.0", + "object-assign": "^4.0.1", + "symbol": "^0.2.1" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "optional": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "optional": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "optional": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, "pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", @@ -29316,6 +34950,13 @@ "extend-shallow": "^3.0.2" } }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "optional": true + }, "pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", @@ -30280,6 +35921,711 @@ "uniq": "^1.0.1" } }, + "pouchdb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/pouchdb/-/pouchdb-7.1.1.tgz", + "integrity": "sha512-8bXWclixNJZqokvxGHRsG19zehSJiaZaz4dVYlhXhhUctz7gMcNTElHjPBzBdZlKKvt9aFDndmXN1VVE53Co8g==", + "dev": true, + "optional": true, + "requires": { + "argsarray": "0.0.1", + "buffer-from": "1.1.0", + "clone-buffer": "1.0.0", + "double-ended-queue": "2.1.0-0", + "fetch-cookie": "0.7.0", + "immediate": "3.0.6", + "inherits": "2.0.3", + "level": "5.0.1", + "level-codec": "9.0.1", + "level-write-stream": "1.0.0", + "leveldown": "5.0.2", + "levelup": "4.0.2", + "ltgt": "2.2.1", + "node-fetch": "2.4.1", + "readable-stream": "1.0.33", + "spark-md5": "3.0.0", + "through2": "3.0.1", + "uuid": "3.2.1", + "vuvuzela": "1.0.3" + }, + "dependencies": { + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "dev": true, + "optional": true + }, + "deferred-leveldown": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.0.1.tgz", + "integrity": "sha512-BXohsvTedWOLkj2n/TY+yqVlrCWa2Zs8LSxh3uCAgFOru7/pjxKyZAexGa1j83BaKloER4PqUyQ9rGPJLt9bqA==", + "dev": true, + "optional": true, + "requires": { + "abstract-leveldown": "~6.0.0", + "inherits": "^2.0.3" + } + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true, + "optional": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, + "optional": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true, + "optional": true + }, + "level-codec": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.1.tgz", + "integrity": "sha512-ajFP0kJ+nyq4i6kptSM+mAvJKLOg1X5FiFPtLG9M5gCEZyBmgDi3FkDrvlMkEzrUn1cWxtvVmrvoS4ASyO/q+Q==", + "dev": true, + "optional": true + }, + "leveldown": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-5.0.2.tgz", + "integrity": "sha512-Ib6ygFYBleS8x2gh3C1AkVsdrUShqXpe6jSTnZ6sRycEXKhqVf+xOSkhgSnjidpPzyv0d95LJVFrYQ4NuXAqHA==", + "dev": true, + "optional": true, + "requires": { + "abstract-leveldown": "~6.0.0", + "fast-future": "~1.0.2", + "napi-macros": "~1.8.1", + "node-gyp-build": "~3.8.0" + } + }, + "levelup": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.0.2.tgz", + "integrity": "sha512-cx9PmLENwbGA3svWBEbeO2HazpOSOYSXH4VA+ahVpYyurvD+SDSfURl29VBY2qgyk+Vfy2dJd71SBRckj/EZVA==", + "dev": true, + "optional": true, + "requires": { + "deferred-leveldown": "~5.0.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "xtend": "~4.0.0" + } + }, + "napi-macros": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-1.8.2.tgz", + "integrity": "sha512-Tr0DNY4RzTaBG2W2m3l7ZtFuJChTH6VZhXVhkGGjF/4cZTt+i8GcM9ozD+30Lmr4mDoZ5Xx34t2o4GJqYWDGcg==", + "dev": true, + "optional": true + }, + "node-fetch": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.4.1.tgz", + "integrity": "sha512-P9UbpFK87NyqBZzUuDBDz4f6Yiys8xm8j7ACDbi6usvFm6KItklQUKjeoqTrYS/S1k6I8oaOC2YLLDr/gg26Mw==", + "dev": true, + "optional": true + }, + "node-gyp-build": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.8.0.tgz", + "integrity": "sha512-bYbpIHyRqZ7sVWXxGpz8QIRug5JZc/hzZH4GbdT9HTZi6WmKCZ8GLvP8OZ9TTiIBvwPFKgtGrlWQSXDAvYdsPw==", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", + "integrity": "sha1-OjYN1mwbHX/UcFOJhg7aHQ9hEmw=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "optional": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "2 || 3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true, + "optional": true + } + } + }, + "pouchdb-abstract-mapreduce": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-abstract-mapreduce/-/pouchdb-abstract-mapreduce-7.2.2.tgz", + "integrity": "sha512-7HWN/2yV2JkwMnGnlp84lGvFtnm0Q55NiBUdbBcaT810+clCGKvhssBCrXnmwShD1SXTwT83aszsgiSfW+SnBA==", + "dev": true, + "optional": true, + "requires": { + "pouchdb-binary-utils": "7.2.2", + "pouchdb-collate": "7.2.2", + "pouchdb-collections": "7.2.2", + "pouchdb-errors": "7.2.2", + "pouchdb-fetch": "7.2.2", + "pouchdb-mapreduce-utils": "7.2.2", + "pouchdb-md5": "7.2.2", + "pouchdb-utils": "7.2.2" + } + }, + "pouchdb-adapter-leveldb-core": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-adapter-leveldb-core/-/pouchdb-adapter-leveldb-core-7.2.2.tgz", + "integrity": "sha512-K9UGf1Ivwe87mjrMqN+1D07tO/DfU7ariVDrGffuOjvl+3BcvUF25IWrxsBObd4iPOYCH7NVQWRpojhBgxULtQ==", + "dev": true, + "optional": true, + "requires": { + "argsarray": "0.0.1", + "buffer-from": "1.1.1", + "double-ended-queue": "2.1.0-0", + "levelup": "4.4.0", + "pouchdb-adapter-utils": "7.2.2", + "pouchdb-binary-utils": "7.2.2", + "pouchdb-collections": "7.2.2", + "pouchdb-errors": "7.2.2", + "pouchdb-json": "7.2.2", + "pouchdb-md5": "7.2.2", + "pouchdb-merge": "7.2.2", + "pouchdb-utils": "7.2.2", + "sublevel-pouchdb": "7.2.2", + "through2": "3.0.2" + }, + "dependencies": { + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "optional": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + } + } + }, + "pouchdb-adapter-memory": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-adapter-memory/-/pouchdb-adapter-memory-7.2.2.tgz", + "integrity": "sha512-9o+zdItPEq7rIrxdkUxgsLNaZkDJAGEqqoYgeYdrHidOCZnlhxhX3g7/R/HcpDKC513iEPqJWDJQSfeT6nVKkw==", + "dev": true, + "optional": true, + "requires": { + "memdown": "1.4.1", + "pouchdb-adapter-leveldb-core": "7.2.2", + "pouchdb-utils": "7.2.2" + } + }, + "pouchdb-adapter-node-websql": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-adapter-node-websql/-/pouchdb-adapter-node-websql-7.0.0.tgz", + "integrity": "sha512-fNaOMO8bvMrRTSfmH4RSLSpgnKahRcCA7Z0jg732PwRbGvvMdGbreZwvKPPD1fg2tm2ZwwiXWK2G3+oXyoqZYw==", + "dev": true, + "optional": true, + "requires": { + "pouchdb-adapter-websql-core": "7.0.0", + "pouchdb-utils": "7.0.0", + "websql": "1.0.0" + }, + "dependencies": { + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "dev": true, + "optional": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true, + "optional": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, + "optional": true + }, + "pouchdb-binary-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-binary-utils/-/pouchdb-binary-utils-7.0.0.tgz", + "integrity": "sha512-yUktdOPIPvOVouCjJN3uop+bCcpdPwePrLm9eUAZNgEYnUFu0njdx7Q0WRsZ7UJ6l75HinL5ZHk4bnvEt86FLw==", + "dev": true, + "optional": true, + "requires": { + "buffer-from": "1.1.0" + } + }, + "pouchdb-collections": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-collections/-/pouchdb-collections-7.0.0.tgz", + "integrity": "sha512-DaoUr/vU24Q3gM6ghj0va9j/oBanPwkbhkvnqSyC3Dm5dgf5pculNxueLF9PKMo3ycApoWzHMh6N2N8KJbDU2Q==", + "dev": true, + "optional": true + }, + "pouchdb-errors": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-errors/-/pouchdb-errors-7.0.0.tgz", + "integrity": "sha512-dTusY8nnTw4HIztCrNl7AoGgwvS1bVf/3/97hDaGc4ytn72V9/4dK8kTqlimi3UpaurohYRnqac0SGXYP8vgXA==", + "dev": true, + "optional": true, + "requires": { + "inherits": "2.0.3" + } + }, + "pouchdb-md5": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-md5/-/pouchdb-md5-7.0.0.tgz", + "integrity": "sha512-yaSJKhLA3QlgloKUQeb2hLdT3KmUmPfoYdryfwHZuPTpXIRKTnMQTR9qCIRUszc0ruBpDe53DRslCgNUhAyTNQ==", + "dev": true, + "optional": true, + "requires": { + "pouchdb-binary-utils": "7.0.0", + "spark-md5": "3.0.0" + } + }, + "pouchdb-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-utils/-/pouchdb-utils-7.0.0.tgz", + "integrity": "sha512-1bnoX1KdZYHv9wicDIFdO0PLiVIMzNDUBUZ/yOJZ+6LW6niQCB8aCv09ZztmKfSQcU5nnN3fe656tScBgP6dOQ==", + "dev": true, + "optional": true, + "requires": { + "argsarray": "0.0.1", + "clone-buffer": "1.0.0", + "immediate": "3.0.6", + "inherits": "2.0.3", + "pouchdb-collections": "7.0.0", + "pouchdb-errors": "7.0.0", + "pouchdb-md5": "7.0.0", + "uuid": "3.2.1" + } + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true, + "optional": true + } + } + }, + "pouchdb-adapter-utils": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-adapter-utils/-/pouchdb-adapter-utils-7.2.2.tgz", + "integrity": "sha512-2CzZkTyTyHZkr3ePiWFMTiD5+56lnembMjaTl8ohwegM0+hYhRyJux0biAZafVxgIL4gnCUC4w2xf6WVztzKdg==", + "dev": true, + "optional": true, + "requires": { + "pouchdb-binary-utils": "7.2.2", + "pouchdb-collections": "7.2.2", + "pouchdb-errors": "7.2.2", + "pouchdb-md5": "7.2.2", + "pouchdb-merge": "7.2.2", + "pouchdb-utils": "7.2.2" + } + }, + "pouchdb-adapter-websql-core": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-adapter-websql-core/-/pouchdb-adapter-websql-core-7.0.0.tgz", + "integrity": "sha512-NyMaH0bl20SdJdOCzd+fwXo8JZ15a48/MAwMcIbXzsRHE4DjFNlRcWAcjUP6uN4Ezc+Gx+r2tkBBMf71mIz1Aw==", + "dev": true, + "optional": true, + "requires": { + "pouchdb-adapter-utils": "7.0.0", + "pouchdb-binary-utils": "7.0.0", + "pouchdb-collections": "7.0.0", + "pouchdb-errors": "7.0.0", + "pouchdb-json": "7.0.0", + "pouchdb-merge": "7.0.0", + "pouchdb-utils": "7.0.0" + }, + "dependencies": { + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "dev": true, + "optional": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true, + "optional": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, + "optional": true + }, + "pouchdb-adapter-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-adapter-utils/-/pouchdb-adapter-utils-7.0.0.tgz", + "integrity": "sha512-UWKPC6jkz6mHUzZefrU7P5X8ZGvBC8LSNZ7BIp0hWvJE6c20cnpDwedTVDpZORcCbVJpDmFOHBYnOqEIblPtbA==", + "dev": true, + "optional": true, + "requires": { + "pouchdb-binary-utils": "7.0.0", + "pouchdb-collections": "7.0.0", + "pouchdb-errors": "7.0.0", + "pouchdb-md5": "7.0.0", + "pouchdb-merge": "7.0.0", + "pouchdb-utils": "7.0.0" + } + }, + "pouchdb-binary-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-binary-utils/-/pouchdb-binary-utils-7.0.0.tgz", + "integrity": "sha512-yUktdOPIPvOVouCjJN3uop+bCcpdPwePrLm9eUAZNgEYnUFu0njdx7Q0WRsZ7UJ6l75HinL5ZHk4bnvEt86FLw==", + "dev": true, + "optional": true, + "requires": { + "buffer-from": "1.1.0" + } + }, + "pouchdb-collections": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-collections/-/pouchdb-collections-7.0.0.tgz", + "integrity": "sha512-DaoUr/vU24Q3gM6ghj0va9j/oBanPwkbhkvnqSyC3Dm5dgf5pculNxueLF9PKMo3ycApoWzHMh6N2N8KJbDU2Q==", + "dev": true, + "optional": true + }, + "pouchdb-errors": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-errors/-/pouchdb-errors-7.0.0.tgz", + "integrity": "sha512-dTusY8nnTw4HIztCrNl7AoGgwvS1bVf/3/97hDaGc4ytn72V9/4dK8kTqlimi3UpaurohYRnqac0SGXYP8vgXA==", + "dev": true, + "optional": true, + "requires": { + "inherits": "2.0.3" + } + }, + "pouchdb-json": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-json/-/pouchdb-json-7.0.0.tgz", + "integrity": "sha512-w0bNRu/7VmmCrFWMYAm62n30wvJJUT2SokyzeTyj3hRohj4GFwTRg1mSZ+iAmxgRKOFE8nzZstLG/WAB4Ymjew==", + "dev": true, + "optional": true, + "requires": { + "vuvuzela": "1.0.3" + } + }, + "pouchdb-md5": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-md5/-/pouchdb-md5-7.0.0.tgz", + "integrity": "sha512-yaSJKhLA3QlgloKUQeb2hLdT3KmUmPfoYdryfwHZuPTpXIRKTnMQTR9qCIRUszc0ruBpDe53DRslCgNUhAyTNQ==", + "dev": true, + "optional": true, + "requires": { + "pouchdb-binary-utils": "7.0.0", + "spark-md5": "3.0.0" + } + }, + "pouchdb-merge": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-merge/-/pouchdb-merge-7.0.0.tgz", + "integrity": "sha512-tci5u6NpznQhGcPv4ho1h0miky9rs+ds/T9zQ9meQeDZbUojXNaX1Jxsb0uYEQQ+HMqdcQs3Akdl0/u0mgwPGg==", + "dev": true, + "optional": true + }, + "pouchdb-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pouchdb-utils/-/pouchdb-utils-7.0.0.tgz", + "integrity": "sha512-1bnoX1KdZYHv9wicDIFdO0PLiVIMzNDUBUZ/yOJZ+6LW6niQCB8aCv09ZztmKfSQcU5nnN3fe656tScBgP6dOQ==", + "dev": true, + "optional": true, + "requires": { + "argsarray": "0.0.1", + "clone-buffer": "1.0.0", + "immediate": "3.0.6", + "inherits": "2.0.3", + "pouchdb-collections": "7.0.0", + "pouchdb-errors": "7.0.0", + "pouchdb-md5": "7.0.0", + "uuid": "3.2.1" + } + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true, + "optional": true + } + } + }, + "pouchdb-binary-utils": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-binary-utils/-/pouchdb-binary-utils-7.2.2.tgz", + "integrity": "sha512-shacxlmyHbUrNfE6FGYpfyAJx7Q0m91lDdEAaPoKZM3SzAmbtB1i+OaDNtYFztXjJl16yeudkDb3xOeokVL3Qw==", + "dev": true, + "optional": true, + "requires": { + "buffer-from": "1.1.1" + } + }, + "pouchdb-collate": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-collate/-/pouchdb-collate-7.2.2.tgz", + "integrity": "sha512-/SMY9GGasslknivWlCVwXMRMnQ8myKHs4WryQ5535nq1Wj/ehpqWloMwxEQGvZE1Sda3LOm7/5HwLTcB8Our+w==", + "dev": true, + "optional": true + }, + "pouchdb-collections": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-collections/-/pouchdb-collections-7.2.2.tgz", + "integrity": "sha512-6O9zyAYlp3UdtfneiMYuOCWdUCQNo2bgdjvNsMSacQX+3g8WvIoFQCYJjZZCpTttQGb+MHeRMr8m2U95lhJTew==", + "dev": true, + "optional": true + }, + "pouchdb-debug": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/pouchdb-debug/-/pouchdb-debug-7.2.1.tgz", + "integrity": "sha512-eP3ht/AKavLF2RjTzBM6S9gaI2/apcW6xvaKRQhEdOfiANqerFuksFqHCal3aikVQuDO+cB/cw+a4RyJn/glBw==", + "dev": true, + "optional": true, + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "optional": true + } + } + }, + "pouchdb-errors": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-errors/-/pouchdb-errors-7.2.2.tgz", + "integrity": "sha512-6GQsiWc+7uPfgEHeavG+7wuzH3JZW29Dnrvz8eVbDFE50kVFxNDVm3EkYHskvo5isG7/IkOx7PV7RPTA3keG3g==", + "dev": true, + "optional": true, + "requires": { + "inherits": "2.0.4" + } + }, + "pouchdb-fetch": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-fetch/-/pouchdb-fetch-7.2.2.tgz", + "integrity": "sha512-lUHmaG6U3zjdMkh8Vob9GvEiRGwJfXKE02aZfjiVQgew+9SLkuOxNw3y2q4d1B6mBd273y1k2Lm0IAziRNxQnA==", + "dev": true, + "optional": true, + "requires": { + "abort-controller": "3.0.0", + "fetch-cookie": "0.10.1", + "node-fetch": "2.6.0" + }, + "dependencies": { + "fetch-cookie": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-0.10.1.tgz", + "integrity": "sha512-beB+VEd4cNeVG1PY+ee74+PkuCQnik78pgLi5Ah/7qdUfov8IctU0vLUbBT8/10Ma5GMBeI4wtxhGrEfKNYs2g==", + "dev": true, + "optional": true, + "requires": { + "tough-cookie": "^2.3.3 || ^3.0.1 || ^4.0.0" + } + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "dev": true, + "optional": true + } + } + }, + "pouchdb-find": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-find/-/pouchdb-find-7.2.2.tgz", + "integrity": "sha512-BmFeFVQ0kHmDehvJxNZl9OmIztCjPlZlVSdpijuFbk/Fi1EFPU1BAv3kLC+6DhZuOqU/BCoaUBY9sn66pPY2ag==", + "dev": true, + "optional": true, + "requires": { + "pouchdb-abstract-mapreduce": "7.2.2", + "pouchdb-collate": "7.2.2", + "pouchdb-errors": "7.2.2", + "pouchdb-fetch": "7.2.2", + "pouchdb-md5": "7.2.2", + "pouchdb-selector-core": "7.2.2", + "pouchdb-utils": "7.2.2" + } + }, + "pouchdb-json": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-json/-/pouchdb-json-7.2.2.tgz", + "integrity": "sha512-3b2S2ynN+aoB7aCNyDZc/4c0IAdx/ir3nsHB+/RrKE9cM3QkQYbnnE3r/RvOD1Xvr6ji/KOCBie+Pz/6sxoaug==", + "dev": true, + "optional": true, + "requires": { + "vuvuzela": "1.0.3" + } + }, + "pouchdb-mapreduce-utils": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-mapreduce-utils/-/pouchdb-mapreduce-utils-7.2.2.tgz", + "integrity": "sha512-rAllb73hIkU8rU2LJNbzlcj91KuulpwQu804/F6xF3fhZKC/4JQMClahk+N/+VATkpmLxp1zWmvmgdlwVU4HtQ==", + "dev": true, + "optional": true, + "requires": { + "argsarray": "0.0.1", + "inherits": "2.0.4", + "pouchdb-collections": "7.2.2", + "pouchdb-utils": "7.2.2" + } + }, + "pouchdb-md5": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-md5/-/pouchdb-md5-7.2.2.tgz", + "integrity": "sha512-c/RvLp2oSh8PLAWU5vFBnp6ejJABIdKqboZwRRUrWcfGDf+oyX8RgmJFlYlzMMOh4XQLUT1IoaDV8cwlsuryZw==", + "dev": true, + "optional": true, + "requires": { + "pouchdb-binary-utils": "7.2.2", + "spark-md5": "3.0.1" + }, + "dependencies": { + "spark-md5": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.1.tgz", + "integrity": "sha512-0tF3AGSD1ppQeuffsLDIOWlKUd3lS92tFxcsrh5Pe3ZphhnoK+oXIBTzOAThZCiuINZLvpiLH/1VS1/ANEJVig==", + "dev": true, + "optional": true + } + } + }, + "pouchdb-merge": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-merge/-/pouchdb-merge-7.2.2.tgz", + "integrity": "sha512-6yzKJfjIchBaS7Tusuk8280WJdESzFfQ0sb4jeMUNnrqs4Cx3b0DIEOYTRRD9EJDM+je7D3AZZ4AT0tFw8gb4A==", + "dev": true, + "optional": true + }, + "pouchdb-selector-core": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-selector-core/-/pouchdb-selector-core-7.2.2.tgz", + "integrity": "sha512-XYKCNv9oiNmSXV5+CgR9pkEkTFqxQGWplnVhO3W9P154H08lU0ZoNH02+uf+NjZ2kjse7Q1fxV4r401LEcGMMg==", + "dev": true, + "optional": true, + "requires": { + "pouchdb-collate": "7.2.2", + "pouchdb-utils": "7.2.2" + } + }, + "pouchdb-utils": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/pouchdb-utils/-/pouchdb-utils-7.2.2.tgz", + "integrity": "sha512-XmeM5ioB4KCfyB2MGZXu1Bb2xkElNwF1qG+zVFbQsKQij0zvepdOUfGuWvLRHxTOmt4muIuSOmWZObZa3NOgzQ==", + "dev": true, + "optional": true, + "requires": { + "argsarray": "0.0.1", + "clone-buffer": "1.0.0", + "immediate": "3.3.0", + "inherits": "2.0.4", + "pouchdb-collections": "7.2.2", + "pouchdb-errors": "7.2.2", + "pouchdb-md5": "7.2.2", + "uuid": "8.1.0" + }, + "dependencies": { + "immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", + "dev": true, + "optional": true + }, + "uuid": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.1.0.tgz", + "integrity": "sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==", + "dev": true, + "optional": true + } + } + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -30291,6 +36637,13 @@ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", "dev": true }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true, + "optional": true + }, "prettier": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.4.tgz", @@ -30425,11 +36778,13 @@ } }, "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "optional": true, "requires": { - "asap": "~2.0.6" + "asap": "~2.0.3" } }, "promise-inflight": { @@ -30478,16 +36833,15 @@ } }, "promise.allsettled": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.4.tgz", - "integrity": "sha512-o73CbvQh/OnPFShxHcHxk0baXR2a1m4ozb85ha0H14VEoi/EJJLa9mnPfEWJx9RjA9MLfhdjZ8I6HhWtBa64Ag==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz", + "integrity": "sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==", "requires": { - "array.prototype.map": "^1.0.3", - "call-bind": "^1.0.2", + "array.prototype.map": "^1.0.1", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.0.2", - "iterate-value": "^1.0.2" + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "iterate-value": "^1.0.0" } }, "prompts": { @@ -30644,6 +36998,12 @@ "escape-goat": "^2.0.0" } }, + "pure-rand": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-4.1.2.tgz", + "integrity": "sha512-uLzZpQWfroIqyFWmX/pl0OL2JHJdoU3dbh0dvZ25fChHFJJi56J5oQZhW6QgbT2Llwh1upki84LnTwlZvsungA==", + "dev": true + }, "pushdata-bitcoin": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz", @@ -30749,6 +37109,27 @@ "performance-now": "^2.1.0" } }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "optional": true + } + } + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -31525,6 +37906,14 @@ "version": "3.9.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz", "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==" + }, + "promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "requires": { + "asap": "~2.0.6" + } } } }, @@ -32560,6 +38949,55 @@ "symbol-observable": "^1.2.0" } }, + "redux-cli-logger": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/redux-cli-logger/-/redux-cli-logger-2.1.0.tgz", + "integrity": "sha512-75mVsggAJRSykWy2qxdGI7osocDWvc3RCMeN93hlvS/FxgdRww12NaXslez+W6gBOrSJKO7W16V0IzuISSfCxg==", + "dev": true, + "requires": { + "colors": "^1.1.2" + } + }, + "redux-devtools-core": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/redux-devtools-core/-/redux-devtools-core-0.2.1.tgz", + "integrity": "sha512-RAGOxtUFdr/1USAvxrWd+Gq/Euzgw7quCZlO5TgFpDfG7rB5tMhZUrNyBjpzgzL2yMk0eHnPYIGm7NkIfRzHxQ==", + "dev": true, + "requires": { + "get-params": "^0.1.2", + "jsan": "^3.1.13", + "lodash": "^4.17.11", + "nanoid": "^2.0.0", + "remotedev-serialize": "^0.1.8" + }, + "dependencies": { + "nanoid": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==", + "dev": true + } + } + }, + "redux-devtools-instrument": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/redux-devtools-instrument/-/redux-devtools-instrument-1.10.0.tgz", + "integrity": "sha512-X8JRBCzX2ADSMp+iiV7YQ8uoTNyEm0VPFPd4T854coz6lvRiBrFSqAr9YAS2n8Kzxx8CJQotR0QF9wsMM+3DvA==", + "dev": true, + "requires": { + "lodash": "^4.17.19", + "symbol-observable": "^1.2.0" + } + }, + "redux-saga": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.0.0.tgz", + "integrity": "sha512-GvJWs/SzMvEQgeaw6sRMXnS2FghlvEGsHiEtTLpJqc/FHF3I5EE/B+Hq5lyHZ8LSoT2r/X/46uWvkdCnK9WgHA==", + "dev": true, + "requires": { + "@redux-saga/core": "^1.0.0" + } + }, "redux-thunk": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", @@ -32591,6 +39029,16 @@ "@babel/runtime": "^7.8.4" } }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "optional": true, + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -32681,6 +39129,277 @@ "integrity": "sha1-0hxSpy1gYQGLzun5yfwQa/fWUoc=", "dev": true }, + "relay-compiler": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/relay-compiler/-/relay-compiler-10.1.0.tgz", + "integrity": "sha512-HPqc3N3tNgEgUH5+lTr5lnLbgnsZMt+MRiyS0uAVNhuPY2It0X1ZJG+9qdA3L9IqKFUNwVn6zTO7RArjMZbARQ==", + "dev": true, + "optional": true, + "requires": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/runtime": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "chalk": "^4.0.0", + "fb-watchman": "^2.0.0", + "fbjs": "^3.0.0", + "glob": "^7.1.1", + "immutable": "~3.7.6", + "nullthrows": "^1.1.1", + "relay-runtime": "10.1.0", + "signedsource": "^1.0.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "optional": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "optional": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "optional": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "optional": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "optional": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "optional": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "optional": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "optional": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true, + "optional": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true, + "optional": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "optional": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "optional": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "relay-runtime": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/relay-runtime/-/relay-runtime-10.1.0.tgz", + "integrity": "sha512-bxznLnQ1ST6APN/cFi7l0FpjbZVchWQjjhj9mAuJBuUqNNCh9uV+UTRhpQF7Q8ycsPp19LHTpVyGhYb0ustuRQ==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime": "^7.0.0", + "fbjs": "^3.0.0" + } + }, + "remote-redux-devtools": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/remote-redux-devtools/-/remote-redux-devtools-0.5.16.tgz", + "integrity": "sha512-xZ2D1VRIWzat5nsvcraT6fKEX9Cfi+HbQBCwzNnUAM8Uicm/anOc60XGalcaDPrVmLug7nhDl2nimEa3bL3K9w==", + "dev": true, + "requires": { + "jsan": "^3.1.13", + "querystring": "^0.2.0", + "redux-devtools-core": "^0.2.1", + "redux-devtools-instrument": "^1.9.4", + "rn-host-detect": "^1.1.5", + "socketcluster-client": "^14.2.1" + } + }, + "remotedev-serialize": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/remotedev-serialize/-/remotedev-serialize-0.1.9.tgz", + "integrity": "sha512-5tFdZg9mSaAWTv6xmQ7HtHjKMLSFQFExEZOtJe10PLsv1wb7cy7kYHtBvTYRro27/3fRGEcQBRNKSaixOpb69w==", + "dev": true, + "requires": { + "jsan": "^3.1.13" + } + }, "remove-bom-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", @@ -32724,6 +39443,31 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -32863,6 +39607,36 @@ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, + "reselect": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.0.0.tgz", + "integrity": "sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA==", + "dev": true + }, + "reselect-tree": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/reselect-tree/-/reselect-tree-1.3.4.tgz", + "integrity": "sha512-1OgNq1IStyJFqIqOoD3k3Ge4SsYCMP9W88VQOfvgyLniVKLfvbYO1Vrl92SyEK5021MkoBX6tWb381VxTDyPBQ==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "esdoc": "^1.0.4", + "json-pointer": "^0.6.0", + "reselect": "^4.0.0", + "source-map-support": "^0.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, "resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", @@ -33115,6 +39889,12 @@ "classnames": "^2.2.5" } }, + "rn-host-detect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/rn-host-detect/-/rn-host-detect-1.2.0.tgz", + "integrity": "sha512-btNg5kzHcjZZ7t7mvvV/4wNJ9e3MPgrWivkRgWURzXL0JJ0pwWlU4zrbmdlz3HHzHOxhBhHB4D+/dbMFfu4/4A==", + "dev": true + }, "rsvp": { "version": "4.8.5", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", @@ -33343,6 +40123,35 @@ "xmlchars": "^2.1.1" } }, + "sc-channel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/sc-channel/-/sc-channel-1.2.0.tgz", + "integrity": "sha512-M3gdq8PlKg0zWJSisWqAsMmTVxYRTpVRqw4CWAdKBgAfVKumFcTjoCV0hYu7lgUXccCtCD8Wk9VkkE+IXCxmZA==", + "dev": true, + "requires": { + "component-emitter": "1.2.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + } + } + }, + "sc-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sc-errors/-/sc-errors-2.0.1.tgz", + "integrity": "sha512-JoVhq3Ud+3Ujv2SIG7W0XtjRHsrNgl6iXuHHsh0s+Kdt5NwI6N2EGAZD4iteitdDv68ENBkpjtSvN597/wxPSQ==", + "dev": true + }, + "sc-formatter": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sc-formatter/-/sc-formatter-3.0.2.tgz", + "integrity": "sha512-9PbqYBpCq+OoEeRQ3QfFIGE6qwjjBcd2j7UjgDlhnZbtSnuGgHdcRklPKYGuYFH82V/dwd+AIpu8XvA1zqTd+A==", + "dev": true + }, "scheduler": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", @@ -33503,10 +40312,23 @@ } } }, + "sentence-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", + "integrity": "sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case-first": "^1.1.2" + } + }, "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } }, "serve-index": { "version": "1.9.1", @@ -33569,6 +40391,19 @@ "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==", + "dev": true, + "requires": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + } + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -33710,12 +40545,30 @@ "varint": "~5.0.0" } }, + "signedsource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz", + "integrity": "sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo=", + "dev": true, + "optional": true + }, "simple-concat": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true }, + "simple-get": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "dev": true, + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "simple-peer": { "version": "9.10.0", "resolved": "https://registry.npmjs.org/simple-peer/-/simple-peer-9.10.0.tgz", @@ -33844,6 +40697,15 @@ "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", "dev": true }, + "snake-case": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", + "integrity": "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -34072,6 +40934,53 @@ } } }, + "socketcluster-client": { + "version": "14.3.1", + "resolved": "https://registry.npmjs.org/socketcluster-client/-/socketcluster-client-14.3.1.tgz", + "integrity": "sha512-Sd/T0K/9UlqTfz+HUuFq90dshA5OBJPQbdkRzGtcKIOm52fkdsBTt0FYpiuzzxv5VrU7PWpRm6KIfNXyPwlLpw==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "clone": "2.1.1", + "component-emitter": "1.2.1", + "linked-list": "0.1.0", + "querystring": "0.2.0", + "sc-channel": "^1.2.0", + "sc-errors": "^2.0.1", + "sc-formatter": "^3.0.1", + "uuid": "3.2.1", + "ws": "7.1.0" + }, + "dependencies": { + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true + }, + "ws": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.0.tgz", + "integrity": "sha512-Swie2C4fs7CkwlHu1glMePLYJJsWjzhl1vm3ZaLplD0h7OMkZyZ6kLTB/OagiU923bZrPFXuDTeEqaEN4NWG4g==", + "dev": true, + "requires": { + "async-limiter": "^1.0.0" + } + } + } + }, "sockjs": { "version": "0.3.19", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", @@ -34227,6 +41136,13 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" }, + "spark-md5": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.0.tgz", + "integrity": "sha1-NyIifFTi+vJLHcbZM8wUTm9xv+8=", + "dev": true, + "optional": true + }, "sparkles": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", @@ -34354,6 +41270,24 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, + "sqlite3": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz", + "integrity": "sha512-roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.11.0" + } + }, + "sse-z": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/sse-z/-/sse-z-0.3.0.tgz", + "integrity": "sha512-jfcXynl9oAOS9YJ7iqS2JMUEHOlvrRAD+54CENiWnc4xsuVLQVSgmwf7cwOTcBd/uq3XkQKBGojgvEtVXcJ/8w==", + "dev": true, + "optional": true + }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", @@ -34440,6 +41374,13 @@ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" }, + "stoppable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", + "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", + "dev": true, + "optional": true + }, "stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", @@ -34588,6 +41529,13 @@ } } }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=", + "dev": true, + "optional": true + }, "strftime": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/strftime/-/strftime-0.10.0.tgz", @@ -34719,6 +41667,29 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" }, + "strip-bom-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", + "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", + "dev": true, + "optional": true, + "requires": { + "first-chunk-stream": "^1.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "optional": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, "strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", @@ -34840,6 +41811,81 @@ "minimist": "^1.1.0" } }, + "sublevel-pouchdb": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/sublevel-pouchdb/-/sublevel-pouchdb-7.2.2.tgz", + "integrity": "sha512-y5uYgwKDgXVyPZceTDGWsSFAhpSddY29l9PJbXqMJLfREdPmQTY8InpatohlEfCXX7s1LGcrfYAhxPFZaJOLnQ==", + "dev": true, + "optional": true, + "requires": { + "inherits": "2.0.4", + "level-codec": "9.0.2", + "ltgt": "2.2.1", + "readable-stream": "1.1.14" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + } + } + }, + "subscriptions-transport-ws": { + "version": "0.9.18", + "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.18.tgz", + "integrity": "sha512-tztzcBTNoEbuErsVQpTN2xUNN/efAZXyCyL5m3x4t6SKrEiTL2N8SaKWBFWM4u56pL79ULif3zjyeq+oV+nOaA==", + "dev": true, + "optional": true, + "requires": { + "backo2": "^1.0.2", + "eventemitter3": "^3.1.0", + "iterall": "^1.2.1", + "symbol-observable": "^1.0.4", + "ws": "^5.2.0" + }, + "dependencies": { + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true, + "optional": true + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, + "optional": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -34881,8 +41927,180 @@ "stable": "^0.1.8", "unquote": "~1.1.1", "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + } + } + }, + "swap-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", + "dev": true, + "requires": { + "lower-case": "^1.1.1", + "upper-case": "^1.1.1" + } + }, + "swarm-js": { + "version": "0.1.40", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", + "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", + "dev": true, + "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": { + "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==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "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" + } + }, + "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=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "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==", + "dev": true + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "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=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + } } }, + "symbol": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/symbol/-/symbol-0.2.3.tgz", + "integrity": "sha1-O5hzuKkB5Hxu/iFSajrDcu8ou8c=", + "dev": true, + "optional": true + }, "symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", @@ -34893,6 +42111,17 @@ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, + "sync-fetch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.3.0.tgz", + "integrity": "sha512-dJp4qg+x4JwSEW1HibAuMi0IIrBI3wuQr2GimmqB7OXR50wmwzfdusG+p39R9w3R6aFtZ2mzvxvWKQ3Bd/vx3g==", + "dev": true, + "optional": true, + "requires": { + "buffer": "^5.7.0", + "node-fetch": "^2.6.1" + } + }, "syntax-error": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", @@ -34935,6 +42164,12 @@ } } }, + "taffydb": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz", + "integrity": "sha1-KtNxaWKUmPylvIQkMJbTzeDsOjQ=", + "dev": true + }, "tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", @@ -35204,6 +42439,11 @@ "glob": "^7.1.3" } }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -35410,6 +42650,16 @@ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, + "tildify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", + "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, "time-cache": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/time-cache/-/time-cache-0.3.0.tgz", @@ -35425,6 +42675,12 @@ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, + "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=", + "dev": true + }, "timeout-abort-controller": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-1.1.1.tgz", @@ -35486,6 +42742,13 @@ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" }, + "tiny-queue": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tiny-queue/-/tiny-queue-0.2.1.tgz", + "integrity": "sha1-JaZ/LG4lOyypQZd7XvdELvl6YEY=", + "dev": true, + "optional": true + }, "tiny-secp256k1": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz", @@ -35512,6 +42775,16 @@ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, + "title-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", + "integrity": "sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.0.3" + } + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -35666,105 +42939,545 @@ "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", "dev": true }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, "truffle": { - "version": "5.1.16", - "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.1.16.tgz", - "integrity": "sha512-McY2AKicKIdIclpclIXluWtCf1yj2cTJGS0ghStHkklw7XYk3ZL4MoftNyfqiYCjIjGs24qoEF9o/JlRp5qnmQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.2.4.tgz", + "integrity": "sha512-vgBsAb9VA3T6ngBCwn6OMf2oJwKnoZT5T1a2GRsjfZXuD7OtwY9GmZwHti4MFxuF/oHVjSqhnp2e5mIeJctk7w==", "dev": true, "requires": { + "@truffle/db": "^0.5.4", + "@truffle/debugger": "^8.0.18", "app-module-path": "^2.2.0", - "mocha": "5.2.0", - "original-require": "1.0.1" + "mocha": "8.1.2", + "original-require": "^1.0.1" }, "dependencies": { - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", + "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { - "minimist": "0.0.8" + "binary-extensions": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "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=", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" } }, "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.1.2.tgz", + "integrity": "sha512-I8FRAcuACNMLQn3lS4qeWLxXqLvGf6r2CaLstDpZmMUUSmvW6Cnm1AuHxgbc7ctZVRcfwspCRbDHymPsi3dkJw==", "dev": true, "requires": { + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", + "chokidar": "3.4.2", + "debug": "4.1.1", + "diff": "4.0.2", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", "growl": "1.10.5", - "he": "1.1.1", + "he": "1.2.0", + "js-yaml": "3.14.0", + "log-symbols": "4.0.0", "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" + "ms": "2.1.2", + "object.assign": "4.1.0", + "promise.allsettled": "1.0.2", + "serialize-javascript": "4.0.0", + "strip-json-comments": "3.0.1", + "supports-color": "7.1.0", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.0.0", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.1" } }, - "ms": { + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "require-main-filename": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", "dev": true }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + } + } + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "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 + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yargs-unparser": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.1.tgz", + "integrity": "sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "decamelize": "^1.2.0", + "flat": "^4.1.0", + "is-plain-obj": "^1.1.0", + "yargs": "^14.2.3" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "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 + }, + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", + "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } } } } @@ -35778,6 +43491,16 @@ "utf8-byte-length": "^1.0.1" } }, + "ts-invariant": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", + "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^1.9.3" + } + }, "ts-node": { "version": "8.6.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.6.2.tgz", @@ -36045,12 +43768,43 @@ "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", "dev": true }, + "typescript-compare": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz", + "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==", + "dev": true, + "requires": { + "typescript-logic": "^0.0.0" + } + }, + "typescript-logic": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz", + "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==", + "dev": true + }, + "typescript-tuple": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz", + "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==", + "dev": true, + "requires": { + "typescript-compare": "^0.0.2" + } + }, "typical": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/typical/-/typical-6.0.1.tgz", "integrity": "sha512-+g3NEp7fJLe9DPa1TArHm9QAA7YciZmWnfAqEaFrBihQ7epOv9i99rjtgb6Iz0wh3WuQDjsCTDfgRoGnmHN81A==", "dev": true }, + "ua-parser-js": { + "version": "0.7.24", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.24.tgz", + "integrity": "sha512-yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw==", + "dev": true, + "optional": true + }, "uglify-js": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.1.tgz", @@ -36133,6 +43887,12 @@ "xtend": "^4.0.1" } }, + "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==", + "dev": true + }, "undertaker": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", @@ -36265,6 +44025,28 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, + "unixify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", + "integrity": "sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -36388,6 +44170,21 @@ } } }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "upper-case-first": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", + "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", + "dev": true, + "requires": { + "upper-case": "^1.1.1" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -36462,6 +44259,18 @@ "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=", + "dev": true + }, + "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=", + "dev": true + }, "ursa-optional": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", @@ -36487,6 +44296,29 @@ "tmp": "0.0.x" } }, + "utf-8-validate": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz", + "integrity": "sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==", + "dev": true, + "requires": { + "node-gyp-build": "^4.2.0" + }, + "dependencies": { + "node-gyp-build": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", + "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", + "dev": true + } + } + }, + "utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", @@ -36525,14 +44357,15 @@ } }, "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", + "for-each": "^0.3.3", "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "object.getownpropertydescriptors": "^2.1.1" } }, "utila": { @@ -36565,6 +44398,20 @@ "homedir-polyfill": "^1.0.1" } }, + "vali-date": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", + "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", + "dev": true, + "optional": true + }, + "valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=", + "dev": true, + "optional": true + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -36763,6 +44610,13 @@ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", "dev": true }, + "vuvuzela": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vuvuzela/-/vuvuzela-1.0.3.tgz", + "integrity": "sha1-O+FF5YJxxzylUnndhR8SpoIRSws=", + "dev": true, + "optional": true + }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -36779,6 +44633,13 @@ "domexception": "^1.0.1", "webidl-conversions": "^4.0.2", "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + } } }, "wait-for-expect": { @@ -36906,6 +44767,405 @@ "@zxing/text-encoding": "0.9.0" } }, + "web3": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.9.tgz", + "integrity": "sha512-Mo5aBRm0JrcNpN/g4VOrDzudymfOnHRC3s2VarhYxRA8aWgF5rnhQ0ziySaugpic1gksbXPe105pUWyRqw8HUA==", + "dev": true, + "requires": { + "web3-bzz": "1.2.9", + "web3-core": "1.2.9", + "web3-eth": "1.2.9", + "web3-eth-personal": "1.2.9", + "web3-net": "1.2.9", + "web3-shh": "1.2.9", + "web3-utils": "1.2.9" + } + }, + "web3-bzz": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.9.tgz", + "integrity": "sha512-ogVQr9jHodu9HobARtvUSmWG22cv2EUQzlPeejGWZ7j5h20HX40EDuWyomGY5VclIj5DdLY76Tmq88RTf/6nxA==", + "dev": true, + "requires": { + "@types/node": "^10.12.18", + "got": "9.6.0", + "swarm-js": "^0.1.40", + "underscore": "1.9.1" + }, + "dependencies": { + "@types/node": { + "version": "10.17.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.55.tgz", + "integrity": "sha512-koZJ89uLZufDvToeWO5BrC4CR4OUfHnUz2qoPs/daQH6qq3IN62QFxCTZ+bKaCE0xaoCAJYE4AXre8AbghCrhg==", + "dev": true + } + } + }, + "web3-core": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.9.tgz", + "integrity": "sha512-fSYv21IP658Ty2wAuU9iqmW7V+75DOYMVZsDH/c14jcF/1VXnedOcxzxSj3vArsCvXZNe6XC5/wAuGZyQwR9RA==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.4", + "@types/node": "^12.6.1", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.2.9", + "web3-core-method": "1.2.9", + "web3-core-requestmanager": "1.2.9", + "web3-utils": "1.2.9" + }, + "dependencies": { + "@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==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "12.20.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.6.tgz", + "integrity": "sha512-sRVq8d+ApGslmkE9e3i+D3gFGk7aZHAT+G4cIpIEdLJYPsWiSPwcAnJEjddLQQDqV3Ra2jOclX/Sv6YrvGYiWA==", + "dev": true + } + } + }, + "web3-core-helpers": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.9.tgz", + "integrity": "sha512-t0WAG3orLCE3lqi77ZoSRNFok3VQWZXTniZigDQjyOJYMAX7BU3F3js8HKbjVnAxlX3tiKoDxI0KBk9F3AxYuw==", + "dev": true, + "requires": { + "underscore": "1.9.1", + "web3-eth-iban": "1.2.9", + "web3-utils": "1.2.9" + } + }, + "web3-core-method": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.9.tgz", + "integrity": "sha512-bjsIoqP3gs7A/gP8+QeLUCyOKJ8bopteCSNbCX36Pxk6TYfYWNuC6hP+2GzUuqdP3xaZNe+XEElQFUNpR3oyAg==", + "dev": true, + "requires": { + "@ethersproject/transactions": "^5.0.0-beta.135", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.9", + "web3-core-promievent": "1.2.9", + "web3-core-subscriptions": "1.2.9", + "web3-utils": "1.2.9" + } + }, + "web3-core-promievent": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.9.tgz", + "integrity": "sha512-0eAUA2zjgXTleSrnc1wdoKQPPIHU6KHf4fAscu4W9kKrR+mqP1KsjYrxY9wUyjNnXxfQ+5M29ipvbiaK8OqdOw==", + "dev": true, + "requires": { + "eventemitter3": "3.1.2" + }, + "dependencies": { + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + } + } + }, + "web3-core-requestmanager": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.9.tgz", + "integrity": "sha512-1PwKV2m46ALUnIN5VPPgjOj8yMLJhhqZYvYJE34hTN5SErOkwhzx5zScvo5MN7v7KyQGFnpVCZKKGCiEnDmtFA==", + "dev": true, + "requires": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.9", + "web3-providers-http": "1.2.9", + "web3-providers-ipc": "1.2.9", + "web3-providers-ws": "1.2.9" + } + }, + "web3-core-subscriptions": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.9.tgz", + "integrity": "sha512-Y48TvXPSPxEM33OmXjGVDMzTd0j8X0t2+sDw66haeBS8eYnrEzasWuBZZXDq0zNUsqyxItgBGDn+cszkgEnFqg==", + "dev": true, + "requires": { + "eventemitter3": "3.1.2", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.9" + }, + "dependencies": { + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + } + } + }, + "web3-eth": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.9.tgz", + "integrity": "sha512-sIKO4iE9FEBa/CYUd6GdPd7GXt/wISqxUd8PlIld6+hvMJj02lgO7Z7p5T9mZIJcIZJGvZX81ogx8oJ9yif+Ag==", + "dev": true, + "requires": { + "underscore": "1.9.1", + "web3-core": "1.2.9", + "web3-core-helpers": "1.2.9", + "web3-core-method": "1.2.9", + "web3-core-subscriptions": "1.2.9", + "web3-eth-abi": "1.2.9", + "web3-eth-accounts": "1.2.9", + "web3-eth-contract": "1.2.9", + "web3-eth-ens": "1.2.9", + "web3-eth-iban": "1.2.9", + "web3-eth-personal": "1.2.9", + "web3-net": "1.2.9", + "web3-utils": "1.2.9" + } + }, + "web3-eth-abi": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.9.tgz", + "integrity": "sha512-3YwUYbh/DMfDbhMWEebAdjSd5bj3ZQieOjLzWFHU23CaLEqT34sUix1lba+hgUH/EN6A7bKAuKOhR3p0OvTn7Q==", + "dev": true, + "requires": { + "@ethersproject/abi": "5.0.0-beta.153", + "underscore": "1.9.1", + "web3-utils": "1.2.9" + } + }, + "web3-eth-accounts": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.9.tgz", + "integrity": "sha512-jkbDCZoA1qv53mFcRHCinoCsgg8WH+M0YUO1awxmqWXRmCRws1wW0TsuSQ14UThih5Dxolgl+e+aGWxG58LMwg==", + "dev": true, + "requires": { + "crypto-browserify": "3.12.0", + "eth-lib": "^0.2.8", + "ethereumjs-common": "^1.3.2", + "ethereumjs-tx": "^2.1.1", + "scrypt-js": "^3.0.1", + "underscore": "1.9.1", + "uuid": "3.3.2", + "web3-core": "1.2.9", + "web3-core-helpers": "1.2.9", + "web3-core-method": "1.2.9", + "web3-utils": "1.2.9" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + } + } + }, + "web3-eth-contract": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.9.tgz", + "integrity": "sha512-PYMvJf7EG/HyssUZa+pXrc8IB06K/YFfWYyW4R7ed3sab+9wWUys1TlWxBCBuiBXOokSAyM6H6P6/cKEx8FT8Q==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.4", + "underscore": "1.9.1", + "web3-core": "1.2.9", + "web3-core-helpers": "1.2.9", + "web3-core-method": "1.2.9", + "web3-core-promievent": "1.2.9", + "web3-core-subscriptions": "1.2.9", + "web3-eth-abi": "1.2.9", + "web3-utils": "1.2.9" + }, + "dependencies": { + "@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==", + "dev": true, + "requires": { + "@types/node": "*" + } + } + } + }, + "web3-eth-ens": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.9.tgz", + "integrity": "sha512-kG4+ZRgZ8I1WYyOBGI8QVRHfUSbbJjvJAGA1AF/NOW7JXQ+x7gBGeJw6taDWJhSshMoEKWcsgvsiuoG4870YxQ==", + "dev": true, + "requires": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "underscore": "1.9.1", + "web3-core": "1.2.9", + "web3-core-helpers": "1.2.9", + "web3-core-promievent": "1.2.9", + "web3-eth-abi": "1.2.9", + "web3-eth-contract": "1.2.9", + "web3-utils": "1.2.9" + } + }, + "web3-eth-iban": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.9.tgz", + "integrity": "sha512-RtdVvJE0pyg9dHLy0GzDiqgnLnssSzfz/JYguhC1wsj9+Gnq1M6Diy3NixACWUAp6ty/zafyOaZnNQ+JuH9TjQ==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "web3-utils": "1.2.9" + }, + "dependencies": { + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + } + } + }, + "web3-eth-personal": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.9.tgz", + "integrity": "sha512-cFiNrktxZ1C/rIdJFzQTvFn3/0zcsR3a+Jf8Y3KxeQDHszQtosjLWptP7bsUmDwEh4hzh0Cy3KpOxlYBWB8bJQ==", + "dev": true, + "requires": { + "@types/node": "^12.6.1", + "web3-core": "1.2.9", + "web3-core-helpers": "1.2.9", + "web3-core-method": "1.2.9", + "web3-net": "1.2.9", + "web3-utils": "1.2.9" + }, + "dependencies": { + "@types/node": { + "version": "12.20.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.6.tgz", + "integrity": "sha512-sRVq8d+ApGslmkE9e3i+D3gFGk7aZHAT+G4cIpIEdLJYPsWiSPwcAnJEjddLQQDqV3Ra2jOclX/Sv6YrvGYiWA==", + "dev": true + } + } + }, + "web3-net": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.9.tgz", + "integrity": "sha512-d2mTn8jPlg+SI2hTj2b32Qan6DmtU9ap/IUlJTeQbZQSkTLf0u9suW8Vjwyr4poJYXTurdSshE7OZsPNn30/ZA==", + "dev": true, + "requires": { + "web3-core": "1.2.9", + "web3-core-method": "1.2.9", + "web3-utils": "1.2.9" + } + }, + "web3-providers-http": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.9.tgz", + "integrity": "sha512-F956tCIj60Ttr0UvEHWFIhx+be3He8msoPzyA44/kfzzYoMAsCFRn5cf0zQG6al0znE75g6HlWVSN6s3yAh51A==", + "dev": true, + "requires": { + "web3-core-helpers": "1.2.9", + "xhr2-cookies": "1.1.0" + } + }, + "web3-providers-ipc": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.9.tgz", + "integrity": "sha512-NQ8QnBleoHA2qTJlqoWu7EJAD/FR5uimf7Ielzk4Z2z+m+6UAuJdJMSuQNj+Umhz9L/Ys6vpS1vHx9NizFl+aQ==", + "dev": true, + "requires": { + "oboe": "2.1.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.9" + } + }, + "web3-providers-ws": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.9.tgz", + "integrity": "sha512-6+UpvINeI//dglZoAKStUXqxDOXJy6Iitv2z3dbgInG4zb8tkYl/VBDL80UjUg3ZvzWG0g7EKY2nRPEpON2TFA==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.9", + "websocket": "^1.0.31" + } + }, + "web3-shh": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.9.tgz", + "integrity": "sha512-PWa8b/EaxaMinFaxy6cV0i0EOi2M7a/ST+9k9nhyhCjVa2vzXuNoBNo2IUOmeZ0WP2UQB8ByJ2+p4htlJaDOjA==", + "dev": true, + "requires": { + "web3-core": "1.2.9", + "web3-core-method": "1.2.9", + "web3-core-subscriptions": "1.2.9", + "web3-net": "1.2.9" + } + }, + "web3-utils": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.9.tgz", + "integrity": "sha512-9hcpuis3n/LxFzEVjwnVgvJzTirS2S9/MiNAa7l4WOEoywY+BSNwnRX4MuHnjkh9NY25B6QOjuNG6FNnSjTw1w==", + "dev": true, + "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": { + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + } + } + }, "webcrypto": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/webcrypto/-/webcrypto-0.1.1.tgz", @@ -37066,14 +45326,6 @@ "ajv-keywords": "^3.1.0" } }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -37499,6 +45751,37 @@ "from": "github:ipfs/webrtcsupport", "dev": true }, + "websocket": { + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.33.tgz", + "integrity": "sha512-XwNqM2rN5eh3G2CUQE3OHZj+0xfdH42+OFK6LdC2yqiC0YU8e5UK0nYre220T0IyyN031V/XOvtHvXozvJYFWA==", + "dev": true, + "requires": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, "websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -37514,6 +45797,20 @@ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" }, + "websql": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/websql/-/websql-1.0.0.tgz", + "integrity": "sha512-7iZ+u28Ljw5hCnMiq0BCOeSYf0vCFQe/ORY0HgscTiKjQed8WqugpBUggJ2NTnB9fahn1kEnPRX2jf8Px5PhJw==", + "dev": true, + "optional": true, + "requires": { + "argsarray": "^0.0.1", + "immediate": "^3.2.2", + "noop-fn": "^1.0.0", + "sqlite3": "^4.0.0", + "tiny-queue": "^0.2.1" + } + }, "whatwg-encoding": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", @@ -37542,6 +45839,25 @@ "webidl-conversions": "^4.0.2" } }, + "whatwg-url-compat": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz", + "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", + "dev": true, + "optional": true, + "requires": { + "tr46": "~0.0.1" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true, + "optional": true + } + } + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -37628,6 +45944,13 @@ "bs58check": "<3.0.0" } }, + "window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", + "dev": true, + "optional": true + }, "windows-release": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz", @@ -37848,6 +46171,12 @@ "microevent.ts": "~0.1.1" } }, + "workerpool": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.0.tgz", + "integrity": "sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA==", + "dev": true + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -38040,6 +46369,25 @@ } } }, + "write-stream": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/write-stream/-/write-stream-0.4.3.tgz", + "integrity": "sha1-g8yMA0fQr2BXqThitOOuAd5cgcE=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "~0.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-0.0.4.tgz", + "integrity": "sha1-8y124/uGM0SlSNeZIwBxc2ZbO40=", + "dev": true, + "optional": true + } + } + }, "ws": { "version": "7.4.4", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz", @@ -38052,10 +46400,76 @@ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", "dev": true }, + "xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dev": true, + "requires": { + "global": "~4.4.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==", + "dev": true, + "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" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "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=", + "dev": true + } + } + }, + "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==", + "dev": true, + "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=", + "dev": true, + "requires": { + "cookiejar": "^2.1.1" + } + }, "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", + "dev": true, + "optional": true }, "xmlchars": { "version": "2.2.0", @@ -38086,6 +46500,17 @@ "integrity": "sha512-zd3ytX2cm+tcSndRU+krm0eL4TMMpZE7evs5hLRAoOy6gviqLfe3qOlkjF3i5SeAkQUCeJk0lJZrEU56kHRfWw==", "dev": true }, + "xss": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.8.tgz", + "integrity": "sha512-3MgPdaXV8rfQ/pNn16Eio6VXYPTkqwa0vc7GkiymmY/DqR1SE/7VPAAVZz1GJsJFrllMYO3RHfEaiUGjab6TNw==", + "dev": true, + "optional": true, + "requires": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + } + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -38096,6 +46521,12 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", + "dev": true + }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", @@ -38425,6 +46856,12 @@ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, "zcash-block": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/zcash-block/-/zcash-block-2.0.0.tgz", @@ -38433,6 +46870,24 @@ "requires": { "multihashing": "~0.3.3" } + }, + "zen-observable": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==", + "dev": true, + "optional": true + }, + "zen-observable-ts": { + "version": "0.8.21", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz", + "integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^1.9.3", + "zen-observable": "^0.8.0" + } } } } diff --git a/package.json b/package.json index 3e065b96..91946369 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,7 @@ "main": "index.js", "scripts": { "test": "lerna run test", - "test-integration": "mocha -r ts-node/register tests/integration/*.test.ts", - "test-rpc": "run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"lerna run test && npm run test-integration\" ", + "test-rpc": "run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"lerna run test\" ", "setup": "lerna bootstrap --hoist --no-ci", "build": "rm -rf build docs packages/*/dist && lerna run compile", "compile": "lerna run compile", @@ -59,7 +58,7 @@ "eslint-config-airbnb-base": "14.0.0", "eslint-import-resolver-typescript": "2.0.0", "eslint-plugin-chai-friendly": "0.5.0", - "eslint-plugin-import": "2.18.2", + "eslint-plugin-import": "^2.22.0", "ethers": "4.0.45", "ganache-cli": "6.9.1", "gulp": "4.0.2", @@ -88,7 +87,7 @@ "prettier": "2.0.4", "prettier-plugin-solidity": "1.0.0-alpha.44", "run-with-testrpc": "0.3.1", - "truffle": "5.1.16", + "truffle": "^5.2.4", "ts-node": "8.6.2", "tsify": "4.0.1", "typedoc": "0.17.4", diff --git a/packages/claims/package.json b/packages/claims/package.json index 80c54210..b76f761e 100644 --- a/packages/claims/package.json +++ b/packages/claims/package.json @@ -9,7 +9,7 @@ "types": "./dist/index.d.ts", "scripts": { "test": "../../node_modules/.bin/mocha -r ts-node/register test/**/*.test.ts", - "test-rpc": "../../node_modules/.bin/run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"npm run test \"", + "test-rpc": "run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"npm run test \"", "compile": "../../node_modules/.bin/tsc", "lint": "../../node_modules/.bin/eslint src/**/*.ts", "fix": "../../node_modules/.bin/eslint src/**/*.ts --fix" @@ -41,6 +41,7 @@ "sjcl": "npm:sjcl-complete@1.0.0" }, "devDependencies": { + "run-with-testrpc": "0.3.1", "ganache-cli": "6.9.1" } } diff --git a/packages/did-ethr-resolver/package.json b/packages/did-ethr-resolver/package.json index b9b6a264..303d277d 100644 --- a/packages/did-ethr-resolver/package.json +++ b/packages/did-ethr-resolver/package.json @@ -30,7 +30,10 @@ "@ew-did-registry/did": "0.3.0", "@ew-did-registry/did-resolver-interface": "0.3.0", "@ew-did-registry/keys": "0.3.0", - "@ew-did-registry/proxyidentity": "0.3.0", "ethers": "4.0.45" + }, + "devDependencies": { + "run-with-testrpc": "0.3.1", + "ganache-cli": "6.9.1" } } diff --git a/packages/did-ethr-resolver/src/implementations/operator.ts b/packages/did-ethr-resolver/src/implementations/operator.ts index acddc41f..3b90ac9e 100644 --- a/packages/did-ethr-resolver/src/implementations/operator.ts +++ b/packages/did-ethr-resolver/src/implementations/operator.ts @@ -45,7 +45,7 @@ export class Operator extends Resolver implements IOperator { private address?: string; - private readonly _owner: IdentityOwner; + protected readonly _owner: IdentityOwner; /** * @param { IdentityOwner } owner - entity which controls document updatable by this operator @@ -60,7 +60,7 @@ export class Operator extends Resolver implements IOperator { this._keys.publicKey = owner.publicKey; } - private async getAddress(): Promise { + protected async getAddress(): Promise { return this.address || (this.address = await this._owner.getAddress()); } diff --git a/packages/did-ipfs-store/package.json b/packages/did-ipfs-store/package.json index 3b8a0c26..851d4bf8 100644 --- a/packages/did-ipfs-store/package.json +++ b/packages/did-ipfs-store/package.json @@ -28,5 +28,9 @@ "@ew-did-registry/did-store-interface": "0.3.0", "bl": "^4.0.2", "ipfs-http-client": "^43.0.0" + }, + "devDependencies": { + "run-with-testrpc": "0.3.1", + "ganache-cli": "6.9.1" } } diff --git a/packages/did-registry/package.json b/packages/did-registry/package.json index 276bba51..8d5cb150 100644 --- a/packages/did-registry/package.json +++ b/packages/did-registry/package.json @@ -9,7 +9,7 @@ "types": "./dist/index.d.ts", "scripts": { "test": "../../node_modules/.bin/mocha -r ts-node/register test/**/*.test.ts", - "test-rpc": "../../node_modules/.bin/run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"npm run test \"", + "test-rpc": "run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"npm run test \"", "compile": "../../node_modules/.bin/tsc", "lint": "../../node_modules/.bin/eslint src/**/*.ts", "fix": "../../node_modules/.bin/eslint src/**/*.ts --fix" diff --git a/packages/did-resolver-interface/src/interface.ts b/packages/did-resolver-interface/src/interface.ts index 6e77da59..a58a8bbb 100644 --- a/packages/did-resolver-interface/src/interface.ts +++ b/packages/did-resolver-interface/src/interface.ts @@ -115,5 +115,9 @@ export interface IOperator extends IResolver { revokeDelegate(did: string, delegateType: PubKeyType, delegateDID: string): Promise; - revokeAttribute(did: string, attributeType: DIDAttribute, updateData: IUpdateData): Promise; + revokeAttribute( + did: string, + attributeType: DIDAttribute, + updateData: IUpdateData + ): Promise; } diff --git a/packages/proxyIdentity/build/contracts/Address.json b/packages/proxyIdentity/build/contracts/Address.json deleted file mode 100644 index 4cf7226b..00000000 --- a/packages/proxyIdentity/build/contracts/Address.json +++ /dev/null @@ -1,769 +0,0 @@ -{ - "contractName": "Address", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{},\"notice\":\"Utility library of inline functions on addresses\"}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]}},\"version\":1}", - "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ff001a57cdb352632992bcdf5e56e40ee231a7a268cba65a267d17e298e3485164736f6c63430005110032", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ff001a57cdb352632992bcdf5e56e40ee231a7a268cba65a267d17e298e3485164736f6c63430005110032", - "sourceMap": "87:856:20:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "87:856:20:-;;;;;;;;", - "source": "pragma solidity ^0.5.16;\n\n\n/**\n * Utility library of inline functions on addresses\n */\nlibrary Address {\n\n // Default hash for EOA accounts returned by extcodehash\n bytes32 constant internal ACCOUNT_HASH = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;\n\n /**\n * Returns whether the target address is a contract\n * @dev This function will return false if invoked during the constructor of a contract.\n * @param _address address of the account to check\n * @return Whether the target address is a contract\n */\n function isContract(address _address) internal view returns (bool) {\n bytes32 codehash;\n\n // Currently there is no better way to check if there is a contract in an address\n // than to check the size of the code at that address or if it has a non-zero code hash or account hash\n assembly { codehash := extcodehash(_address) }\n return (codehash != 0x0 && codehash != ACCOUNT_HASH);\n }\n}", - "sourcePath": "multi-token-standard/contracts/utils/Address.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 3698 - ] - }, - "id": 3699, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3673, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "Utility library of inline functions on addresses", - "fullyImplemented": true, - "id": 3698, - "linearizedBaseContracts": [ - 3698 - ], - "name": "Address", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 3676, - "name": "ACCOUNT_HASH", - "nodeType": "VariableDeclaration", - "scope": 3698, - "src": "167:107:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3674, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "167:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 3675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "208:66:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", - "typeString": "int_const 8947...(69 digits omitted)...1552" - }, - "value": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - "visibility": "internal" - }, - { - "body": { - "id": 3696, - "nodeType": "Block", - "src": "610:331:20", - "statements": [ - { - "assignments": [ - 3684 - ], - "declarations": [ - { - "constant": false, - "id": 3684, - "name": "codehash", - "nodeType": "VariableDeclaration", - "scope": 3696, - "src": "616:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3683, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3685, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "616:16:20" - }, - { - "externalReferences": [ - { - "codehash": { - "declaration": 3684, - "isOffset": false, - "isSlot": false, - "src": "844:8:20", - "valueSize": 1 - } - }, - { - "_address": { - "declaration": 3678, - "isOffset": false, - "isSlot": false, - "src": "868:8:20", - "valueSize": 1 - } - } - ], - "id": 3686, - "nodeType": "InlineAssembly", - "operations": "{\n codehash := extcodehash(_address)\n}", - "src": "833:46:20" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3687, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "892:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 3688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "904:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "892:15:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3690, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 3691, - "name": "ACCOUNT_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3676, - "src": "923:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "911:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "892:43:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3694, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "891:45:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3682, - "id": 3695, - "nodeType": "Return", - "src": "884:52:20" - } - ] - }, - "documentation": "Returns whether the target address is a contract\n@dev This function will return false if invoked during the constructor of a contract.\n@param _address address of the account to check\n@return Whether the target address is a contract", - "id": 3697, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3678, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "563:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "563:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "562:18:20" - }, - "returnParameters": { - "id": 3682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3681, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "604:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3680, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "604:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "603:6:20" - }, - "scope": 3698, - "src": "543:398:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3699, - "src": "87:856:20" - } - ], - "src": "0:943:20" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 3698 - ] - }, - "id": 3699, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3673, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "Utility library of inline functions on addresses", - "fullyImplemented": true, - "id": 3698, - "linearizedBaseContracts": [ - 3698 - ], - "name": "Address", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 3676, - "name": "ACCOUNT_HASH", - "nodeType": "VariableDeclaration", - "scope": 3698, - "src": "167:107:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3674, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "167:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 3675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "208:66:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", - "typeString": "int_const 8947...(69 digits omitted)...1552" - }, - "value": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - "visibility": "internal" - }, - { - "body": { - "id": 3696, - "nodeType": "Block", - "src": "610:331:20", - "statements": [ - { - "assignments": [ - 3684 - ], - "declarations": [ - { - "constant": false, - "id": 3684, - "name": "codehash", - "nodeType": "VariableDeclaration", - "scope": 3696, - "src": "616:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3683, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3685, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "616:16:20" - }, - { - "externalReferences": [ - { - "codehash": { - "declaration": 3684, - "isOffset": false, - "isSlot": false, - "src": "844:8:20", - "valueSize": 1 - } - }, - { - "_address": { - "declaration": 3678, - "isOffset": false, - "isSlot": false, - "src": "868:8:20", - "valueSize": 1 - } - } - ], - "id": 3686, - "nodeType": "InlineAssembly", - "operations": "{\n codehash := extcodehash(_address)\n}", - "src": "833:46:20" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3687, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "892:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 3688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "904:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "892:15:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3690, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 3691, - "name": "ACCOUNT_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3676, - "src": "923:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "911:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "892:43:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3694, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "891:45:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3682, - "id": 3695, - "nodeType": "Return", - "src": "884:52:20" - } - ] - }, - "documentation": "Returns whether the target address is a contract\n@dev This function will return false if invoked during the constructor of a contract.\n@param _address address of the account to check\n@return Whether the target address is a contract", - "id": 3697, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3678, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "563:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "563:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "562:18:20" - }, - "returnParameters": { - "id": 3682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3681, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "604:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3680, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "604:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "603:6:20" - }, - "scope": 3698, - "src": "543:398:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3699, - "src": "87:856:20" - } - ], - "src": "0:943:20" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.638Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {}, - "notice": "Utility library of inline functions on addresses" - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/Context.json b/packages/proxyIdentity/build/contracts/Context.json deleted file mode 100644 index 0efda00d..00000000 --- a/packages/proxyIdentity/build/contracts/Context.json +++ /dev/null @@ -1,595 +0,0 @@ -{ - "contractName": "Context", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/GSN/Context.sol\":\"Context\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\n/*\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with GSN meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\ncontract Context {\n // Empty internal constructor, to prevent people from mistakenly deploying\n // an instance of this contract, which should be used via inheritance.\n constructor () internal { }\n // solhint-disable-previous-line no-empty-blocks\n\n function _msgSender() internal view returns (address payable) {\n return msg.sender;\n }\n\n function _msgData() internal view returns (bytes memory) {\n this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return msg.data;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/GSN/Context.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "exportedSymbols": { - "Context": [ - 1938 - ] - }, - "id": 1939, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1913, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:8" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1938, - "linearizedBaseContracts": [ - 1938 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1916, - "nodeType": "Block", - "src": "726:3:8", - "statements": [] - }, - "documentation": null, - "id": 1917, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1914, - "nodeType": "ParameterList", - "parameters": [], - "src": "714:2:8" - }, - "returnParameters": { - "id": 1915, - "nodeType": "ParameterList", - "parameters": [], - "src": "726:0:8" - }, - "scope": 1938, - "src": "702:27:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1925, - "nodeType": "Block", - "src": "850:34:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1922, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "867:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "867:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 1921, - "id": 1924, - "nodeType": "Return", - "src": "860:17:8" - } - ] - }, - "documentation": null, - "id": 1926, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1918, - "nodeType": "ParameterList", - "parameters": [], - "src": "807:2:8" - }, - "returnParameters": { - "id": 1921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1920, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1926, - "src": "833:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1919, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:15:8", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:17:8" - }, - "scope": 1938, - "src": "788:96:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1936, - "nodeType": "Block", - "src": "947:165:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1931, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3890, - "src": "957:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 1932, - "nodeType": "ExpressionStatement", - "src": "957:4:8" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1933, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1097:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1097:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 1930, - "id": 1935, - "nodeType": "Return", - "src": "1090:15:8" - } - ] - }, - "documentation": null, - "id": 1937, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1927, - "nodeType": "ParameterList", - "parameters": [], - "src": "907:2:8" - }, - "returnParameters": { - "id": 1930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1929, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1937, - "src": "933:12:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1928, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "933:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "932:14:8" - }, - "scope": 1938, - "src": "890:222:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 1939, - "src": "525:589:8" - } - ], - "src": "0:1115:8" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "exportedSymbols": { - "Context": [ - 1938 - ] - }, - "id": 1939, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1913, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:8" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1938, - "linearizedBaseContracts": [ - 1938 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1916, - "nodeType": "Block", - "src": "726:3:8", - "statements": [] - }, - "documentation": null, - "id": 1917, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1914, - "nodeType": "ParameterList", - "parameters": [], - "src": "714:2:8" - }, - "returnParameters": { - "id": 1915, - "nodeType": "ParameterList", - "parameters": [], - "src": "726:0:8" - }, - "scope": 1938, - "src": "702:27:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1925, - "nodeType": "Block", - "src": "850:34:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1922, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "867:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "867:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 1921, - "id": 1924, - "nodeType": "Return", - "src": "860:17:8" - } - ] - }, - "documentation": null, - "id": 1926, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1918, - "nodeType": "ParameterList", - "parameters": [], - "src": "807:2:8" - }, - "returnParameters": { - "id": 1921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1920, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1926, - "src": "833:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1919, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:15:8", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:17:8" - }, - "scope": 1938, - "src": "788:96:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1936, - "nodeType": "Block", - "src": "947:165:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1931, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3890, - "src": "957:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 1932, - "nodeType": "ExpressionStatement", - "src": "957:4:8" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1933, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1097:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1097:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 1930, - "id": 1935, - "nodeType": "Return", - "src": "1090:15:8" - } - ] - }, - "documentation": null, - "id": 1937, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1927, - "nodeType": "ParameterList", - "parameters": [], - "src": "907:2:8" - }, - "returnParameters": { - "id": 1930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1929, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1937, - "src": "933:12:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1928, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "933:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "932:14:8" - }, - "scope": 1938, - "src": "890:222:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 1939, - "src": "525:589:8" - } - ], - "src": "0:1115:8" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.602Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC1155.json b/packages/proxyIdentity/build/contracts/ERC1155.json deleted file mode 100644 index 9e4c31e5..00000000 --- a/packages/proxyIdentity/build/contracts/ERC1155.json +++ /dev/null @@ -1,14585 +0,0 @@ -{ - "contractName": "ERC1155", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_amount", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "isOperator", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address[]", - "name": "_owners", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_amount\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of Multi-Token Standard contract\",\"methods\":{\"balanceOf(address,uint256)\":{\"params\":{\"_id\":\"ID of the Token\",\"_owner\":\"The address of the token holder\"},\"return\":\"The _owner's balance of the Token type requested\"},\"balanceOfBatch(address[],uint256[])\":{\"params\":{\"_ids\":\"ID of the Tokens\",\"_owners\":\"The addresses of the token holders\"},\"return\":\"The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\"},\"isApprovedForAll(address,address)\":{\"params\":{\"_operator\":\"Address of authorized operator\",\"_owner\":\"The owner of the Tokens\"},\"return\":\"True if the operator is approved, false if not\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"params\":{\"_amounts\":\"Transfer amounts per token type\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source addresses\",\"_ids\":\"IDs of each token type\",\"_to\":\"Target addresses\"}},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"params\":{\"_amount\":\"Transfered amount\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source address\",\"_id\":\"ID of the token type\",\"_to\":\"Target address\"}},\"setApprovalForAll(address,bool)\":{\"params\":{\"_approved\":\"True if the operator is approved, false to revoke approval\",\"_operator\":\"Address to add to the set of authorized operators\"}},\"supportsInterface(bytes4)\":{\"params\":{\"_interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"return\":\"`true` if the contract implements `_interfaceID` and\"}}},\"userdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"notice\":\"Get the balance of an account's Tokens\"},\"balanceOfBatch(address[],uint256[])\":{\"notice\":\"Get the balance of multiple account/token pairs\"},\"isApprovedForAll(address,address)\":{\"notice\":\"Queries the approval status of an operator for a given owner\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Send multiple types of Tokens from the _from address to the _to address (with safety call)\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"notice\":\"Transfers amount amount of an _id from the _from address to the _to address specified\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of caller's tokens\"},\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":\"ERC1155\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50611ab1806100206000396000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f41461036b578063a22cb4651461050c578063e985e9c51461055c578063f242432a146105d85761007c565b8062fdd58e1461008157806301ffc9a7146100e35780632eb2c2d614610148575b600080fd5b6100cd6004803603604081101561009757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106e7565b6040518082815260200191505060405180910390f35b61012e600480360360208110156100f957600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610741565b604051808215151515815260200191505060405180910390f35b610369600480360360a081101561015e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101bb57600080fd5b8201836020820111156101cd57600080fd5b803590602001918460208302840111640100000000831117156101ef57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561024f57600080fd5b82018360208201111561026157600080fd5b8035906020019184602083028401116401000000008311171561028357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156102e357600080fd5b8201836020820111156102f557600080fd5b8035906020019184600183028401116401000000008311171561031757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506107f2565b005b6104b56004803603604081101561038157600080fd5b810190808035906020019064010000000081111561039e57600080fd5b8201836020820111156103b057600080fd5b803590602001918460208302840111640100000000831117156103d257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561043257600080fd5b82018360208201111561044457600080fd5b8035906020019184602083028401116401000000008311171561046657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061092e565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104f85780820151818401526020810190506104dd565b505050509050019250505060405180910390f35b61055a6004803603604081101561052257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a74565b005b6105be6004803603604081101561057257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b75565b604051808215151515815260200191505060405180910390f35b6106e5600480360360a08110156105ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561065f57600080fd5b82018360208201111561067157600080fd5b8035906020019184600183028401116401000000008311171561069357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610c09565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107da575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156107e857600190506107ed565b600090505b919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061083257506108318533610b75565b5b610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806119d5602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561090d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806119796030913960400191505060405180910390fd5b61091985858585610d45565b610927858585855a866110aa565b5050505050565b6060815183511461098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806119a9602c913960400191505060405180910390fd5b606083516040519080825280602002602001820160405280156109bc5781602001602082028038833980820191505090505b50905060008090505b8451811015610a69576000808683815181106109dd57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610a2d57fe5b6020026020010151815260200190815260200160002054828281518110610a5057fe5b60200260200101818152505080806001019150506109c5565b508091505092915050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c495750610c488533610b75565b5b610c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061191a602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806118ef602b913960400191505060405180910390fd5b610d3085858585611368565b610d3e858585855a8661155c565b5050505050565b8051825114610d9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806119446035913960400191505060405180910390fd5b60008251905060008090505b81811015610f9c57610e3b838281518110610dc257fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610e1657fe5b602002602001015181526020019081526020016000205461179890919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610e8757fe5b6020026020010151815260200190815260200160002081905550610f29838281518110610eb057fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610f0457fe5b602002602001015181526020019081526020016000205461182190919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610f7557fe5b60200260200101518152602001908152602001600020819055508080600101915050610dab565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561104c578082015181840152602081019050611031565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561108e578082015181840152602081019050611073565b5050505090500194505050505060405180910390a45050505050565b6110c98573ffffffffffffffffffffffffffffffffffffffff166118a9565b156113605760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156111b0578082015181840152602081019050611195565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156111f25780820151818401526020810190506111d7565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611231578082015181840152602081019050611216565b50505050905090810190601f16801561125e5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561128357600080fd5b5087f1158015611297573d6000803e3d6000fd5b50505050506040513d60208110156112ae57600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180611a04603f913960400191505060405180910390fd5b505b505050505050565b6113ca816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461179890919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555061147f816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461182190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b61157b8573ffffffffffffffffffffffffffffffffffffffff166118a9565b156117905760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611663578082015181840152602081019050611648565b50505050905090810190601f1680156116905780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156116b357600080fd5b5087f11580156116c7573d6000803e3d6000fd5b50505050506040513d60208110156116de57600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611a43603a913960400191505060405180910390fd5b505b505050505050565b600082821115611810576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008082840190508381101561189f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b600080823f90506000801b81141580156118e657507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b91505091905056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a7231582073668a86987b7923d3d91b9973bb91a568371582b35b24a924db8c145d43764f64736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f41461036b578063a22cb4651461050c578063e985e9c51461055c578063f242432a146105d85761007c565b8062fdd58e1461008157806301ffc9a7146100e35780632eb2c2d614610148575b600080fd5b6100cd6004803603604081101561009757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106e7565b6040518082815260200191505060405180910390f35b61012e600480360360208110156100f957600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610741565b604051808215151515815260200191505060405180910390f35b610369600480360360a081101561015e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101bb57600080fd5b8201836020820111156101cd57600080fd5b803590602001918460208302840111640100000000831117156101ef57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561024f57600080fd5b82018360208201111561026157600080fd5b8035906020019184602083028401116401000000008311171561028357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156102e357600080fd5b8201836020820111156102f557600080fd5b8035906020019184600183028401116401000000008311171561031757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506107f2565b005b6104b56004803603604081101561038157600080fd5b810190808035906020019064010000000081111561039e57600080fd5b8201836020820111156103b057600080fd5b803590602001918460208302840111640100000000831117156103d257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561043257600080fd5b82018360208201111561044457600080fd5b8035906020019184602083028401116401000000008311171561046657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061092e565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104f85780820151818401526020810190506104dd565b505050509050019250505060405180910390f35b61055a6004803603604081101561052257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a74565b005b6105be6004803603604081101561057257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b75565b604051808215151515815260200191505060405180910390f35b6106e5600480360360a08110156105ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561065f57600080fd5b82018360208201111561067157600080fd5b8035906020019184600183028401116401000000008311171561069357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610c09565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107da575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156107e857600190506107ed565b600090505b919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061083257506108318533610b75565b5b610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806119d5602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561090d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806119796030913960400191505060405180910390fd5b61091985858585610d45565b610927858585855a866110aa565b5050505050565b6060815183511461098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806119a9602c913960400191505060405180910390fd5b606083516040519080825280602002602001820160405280156109bc5781602001602082028038833980820191505090505b50905060008090505b8451811015610a69576000808683815181106109dd57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610a2d57fe5b6020026020010151815260200190815260200160002054828281518110610a5057fe5b60200260200101818152505080806001019150506109c5565b508091505092915050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c495750610c488533610b75565b5b610c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061191a602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806118ef602b913960400191505060405180910390fd5b610d3085858585611368565b610d3e858585855a8661155c565b5050505050565b8051825114610d9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806119446035913960400191505060405180910390fd5b60008251905060008090505b81811015610f9c57610e3b838281518110610dc257fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610e1657fe5b602002602001015181526020019081526020016000205461179890919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610e8757fe5b6020026020010151815260200190815260200160002081905550610f29838281518110610eb057fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610f0457fe5b602002602001015181526020019081526020016000205461182190919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610f7557fe5b60200260200101518152602001908152602001600020819055508080600101915050610dab565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561104c578082015181840152602081019050611031565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561108e578082015181840152602081019050611073565b5050505090500194505050505060405180910390a45050505050565b6110c98573ffffffffffffffffffffffffffffffffffffffff166118a9565b156113605760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156111b0578082015181840152602081019050611195565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156111f25780820151818401526020810190506111d7565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611231578082015181840152602081019050611216565b50505050905090810190601f16801561125e5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561128357600080fd5b5087f1158015611297573d6000803e3d6000fd5b50505050506040513d60208110156112ae57600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180611a04603f913960400191505060405180910390fd5b505b505050505050565b6113ca816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461179890919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555061147f816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461182190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b61157b8573ffffffffffffffffffffffffffffffffffffffff166118a9565b156117905760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611663578082015181840152602081019050611648565b50505050905090810190601f1680156116905780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156116b357600080fd5b5087f11580156116c7573d6000803e3d6000fd5b50505050506040513d60208110156116de57600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611a43603a913960400191505060405180910390fd5b505b505050505050565b600082821115611810576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008082840190508381101561189f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b600080823f90506000801b81141580156118e657507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b91505091905056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a7231582073668a86987b7923d3d91b9973bb91a568371582b35b24a924db8c145d43764f64736f6c63430005110032", - "sourceMap": "293:8912:18:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;293:8912:18;;;;;;;", - "deployedSourceMap": "293:8912:18:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;293:8912:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7048:123;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7048:123:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8969:234;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8969:234:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2273:513;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;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;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2273:513:18;;;;;;;;;;;;;;;:::i;:::-;;7451:486;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7451:486:18;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;7451:486:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;7451:486:18;;;;;;;;;;;;;;;:::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;7451:486:18;;;;;;;;;;;;;;;;;6085:221;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6085:221:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6557:151;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6557:151:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1343:547;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1343:547:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1343:547:18;;;;;;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;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;1343:547:18;;;;;;;;;;;;;;;:::i;:::-;;7048:123;7121:7;7145:8;:16;7154:6;7145:16;;;;;;;;;;;;;;;:21;7162:3;7145:21;;;;;;;;;;;;7138:28;;7048:123;;;;:::o;8969:234::-;9040:4;8210:10;9072:26;;9056:42;;;:12;:42;;;;:97;;;;8743:10;9126:27;;9110:43;;;:12;:43;;;;9056:97;9052:129;;;9170:4;9163:11;;;;9052:129;9193:5;9186:12;;8969:234;;;;:::o;2273:513::-;2464:5;2450:19;;:10;:19;;;2449:60;;;;2474:35;2491:5;2498:10;2474:16;:35::i;:::-;2449:60;2441:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2590:1;2575:17;;:3;:17;;;;2567:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2652:50;2675:5;2682:3;2687:4;2693:8;2652:22;:50::i;:::-;2708:73;2736:5;2743:3;2748:4;2754:8;2764:9;2775:5;2708:27;:73::i;:::-;2273:513;;;;;:::o;7451:486::-;7549:16;7601:4;:11;7583:7;:14;:29;7575:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7685:30;7732:7;:14;7718:29;;;;;;;;;;;;;;;;;;;;;;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;7718:29:18;;;;7685:62;;7803:9;7815:1;7803:13;;7798:108;7822:7;:14;7818:1;:18;7798:108;;;7870:8;:20;7879:7;7887:1;7879:10;;;;;;;;;;;;;;7870:20;;;;;;;;;;;;;;;:29;7891:4;7896:1;7891:7;;;;;;;;;;;;;;7870:29;;;;;;;;;;;;7851:13;7865:1;7851:16;;;;;;;;;;;;;:48;;;;;7838:3;;;;;;;7798:108;;;;7919:13;7912:20;;;7451:486;;;;:::o;6085:221::-;6233:9;6198;:21;6208:10;6198:21;;;;;;;;;;;;;;;:32;6220:9;6198:32;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;6280:9;6253:48;;6268:10;6253:48;;;6291:9;6253:48;;;;;;;;;;;;;;;;;;;;;;6085:221;;:::o;6557:151::-;6643:15;6675:9;:17;6685:6;6675:17;;;;;;;;;;;;;;;:28;6693:9;6675:28;;;;;;;;;;;;;;;;;;;;;;;;;6668:35;;6557:151;;;;:::o;1343:547::-;1489:5;1475:19;;:10;:19;;;1474:60;;;;1499:35;1516:5;1523:10;1499:16;:35::i;:::-;1474:60;1466:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1610:1;1595:17;;:3;:17;;;;1587:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1770:43;1788:5;1795:3;1800;1805:7;1770:17;:43::i;:::-;1819:66;1842:5;1849:3;1854;1859:7;1868:9;1879:5;1819:22;:66::i;:::-;1343:547;;;;;:::o;4403:670::-;4557:8;:15;4542:4;:11;:30;4534:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4674:17;4694:4;:11;4674:31;;4748:9;4760:1;4748:13;;4743:243;4767:9;4763:1;:13;4743:243;;;4866:41;4895:8;4904:1;4895:11;;;;;;;;;;;;;;4866:8;:15;4875:5;4866:15;;;;;;;;;;;;;;;:24;4882:4;4887:1;4882:7;;;;;;;;;;;;;;4866:24;;;;;;;;;;;;:28;;:41;;;;:::i;:::-;4839:8;:15;4848:5;4839:15;;;;;;;;;;;;;;;:24;4855:4;4860:1;4855:7;;;;;;;;;;;;;;4839:24;;;;;;;;;;;:68;;;;4940:39;4967:8;4976:1;4967:11;;;;;;;;;;;;;;4940:8;:13;4949:3;4940:13;;;;;;;;;;;;;;;:22;4954:4;4959:1;4954:7;;;;;;;;;;;;;;4940:22;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;4915:8;:13;4924:3;4915:13;;;;;;;;;;;;;;;:22;4929:4;4934:1;4929:7;;;;;;;;;;;;;;4915:22;;;;;;;;;;;:64;;;;4778:3;;;;;;;4743:243;;;;5048:3;5015:53;;5041:5;5015:53;;5029:10;5015:53;;;5053:4;5059:8;5015:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5015:53:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5015:53:18;;;;;;;;;;;;;;;;;;;4403:670;;;;;:::o;5186:502::-;5407:16;:3;:14;;;:16::i;:::-;5403:281;;;5433:13;5471:3;5449:49;;;5503:9;5514:10;5526:5;5533:4;5539:8;5549:5;5449:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5449:106:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5449:106:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5449:106:18;;;;;;;;;;;;;;;;5433:122;;671:10;5581:28;;5571:38;;;:6;:38;;;;5563:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5403:281;;5186:502;;;;;;:::o;3176:367::-;3328:33;3353:7;3328:8;:15;3337:5;3328:15;;;;;;;;;;;;;;;:20;3344:3;3328:20;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;3305:8;:15;3314:5;3305:15;;;;;;;;;;;;;;;:20;3321:3;3305:20;;;;;;;;;;;:56;;;;3407:31;3430:7;3407:8;:13;3416:3;3407:13;;;;;;;;;;;;;;;:18;3421:3;3407:18;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;3386:8;:13;3395:3;3386:13;;;;;;;;;;;;;;;:18;3400:3;3386:18;;;;;;;;;;;:52;;;;3520:3;3486:52;;3513:5;3486:52;;3501:10;3486:52;;;3525:3;3530:7;3486:52;;;;;;;;;;;;;;;;;;;;;;;;3176:367;;;;:::o;3651:455::-;3843:16;:3;:14;;;:16::i;:::-;3839:263;;;3869:13;3907:3;3885:44;;;3934:9;3945:10;3957:5;3964:3;3969:7;3978:5;3885:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3885:99:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3885:99:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3885:99:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3885:99:18;;;;;;;;;;;;;;;;3869:115;;601:10;4010:22;;4000:32;;;:6;:32;;;;3992:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3839:263;;3651:455;;;;;;:::o;1188:158:21:-;1246:7;1274:1;1269;:6;;1261:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1309:9;1325:1;1321;:5;1309:17;;1340:1;1333:8;;;1188:158;;;;:::o;1421:::-;1479:7;1494:9;1510:1;1506;:5;1494:17;;1530:1;1525;:6;;1517:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:1;1565:8;;;1421:158;;;;:::o;543:398:20:-;604:4;616:16;868:8;856:21;844:33;;904:3;892:15;;:8;:15;;:43;;;;;208:66;923:12;;911:8;:24;;892:43;884:52;;;543:398;;;:::o", - "source": "pragma solidity ^0.5.16;\n\nimport \"../../interfaces/IERC165.sol\";\nimport \"../../utils/SafeMath.sol\";\nimport \"../../interfaces/IERC1155TokenReceiver.sol\";\nimport \"../../interfaces/IERC1155.sol\";\nimport \"../../utils/Address.sol\";\n\n\n/**\n * @dev Implementation of Multi-Token Standard contract\n */\ncontract ERC1155 is IERC165, IERC1155 {\n using SafeMath for uint256;\n using Address for address;\n\n /***********************************|\n | Variables and Events |\n |__________________________________*/\n\n // onReceive function signatures\n bytes4 constant internal ERC1155_RECEIVED_VALUE = 0xf23a6e61;\n bytes4 constant internal ERC1155_BATCH_RECEIVED_VALUE = 0xbc197c81;\n\n // Objects balances\n mapping (address => mapping(uint256 => uint256)) internal balances;\n\n // Operator Functions\n mapping (address => mapping(address => bool)) internal operators;\n\n\n /***********************************|\n | Public Transfer Functions |\n |__________________________________*/\n\n /**\n * @notice Transfers amount amount of an _id from the _from address to the _to address specified\n * @param _from Source address\n * @param _to Target address\n * @param _id ID of the token type\n * @param _amount Transfered amount\n * @param _data Additional data with no specified format, sent in call to `_to`\n */\n function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _amount, bytes memory _data)\n public\n {\n require((msg.sender == _from) || isApprovedForAll(_from, msg.sender), \"ERC1155#safeTransferFrom: INVALID_OPERATOR\");\n require(_to != address(0),\"ERC1155#safeTransferFrom: INVALID_RECIPIENT\");\n // require(_amount <= balances[_from][_id]) is not necessary since checked with safemath operations\n\n _safeTransferFrom(_from, _to, _id, _amount);\n _callonERC1155Received(_from, _to, _id, _amount, gasleft(), _data);\n }\n\n /**\n * @notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n * @param _from Source addresses\n * @param _to Target addresses\n * @param _ids IDs of each token type\n * @param _amounts Transfer amounts per token type\n * @param _data Additional data with no specified format, sent in call to `_to`\n */\n function safeBatchTransferFrom(address _from, address _to, uint256[] memory _ids, uint256[] memory _amounts, bytes memory _data)\n public\n {\n // Requirements\n require((msg.sender == _from) || isApprovedForAll(_from, msg.sender), \"ERC1155#safeBatchTransferFrom: INVALID_OPERATOR\");\n require(_to != address(0), \"ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT\");\n\n _safeBatchTransferFrom(_from, _to, _ids, _amounts);\n _callonERC1155BatchReceived(_from, _to, _ids, _amounts, gasleft(), _data);\n }\n\n\n /***********************************|\n | Internal Transfer Functions |\n |__________________________________*/\n\n /**\n * @notice Transfers amount amount of an _id from the _from address to the _to address specified\n * @param _from Source address\n * @param _to Target address\n * @param _id ID of the token type\n * @param _amount Transfered amount\n */\n function _safeTransferFrom(address _from, address _to, uint256 _id, uint256 _amount)\n internal\n {\n // Update balances\n balances[_from][_id] = balances[_from][_id].sub(_amount); // Subtract amount\n balances[_to][_id] = balances[_to][_id].add(_amount); // Add amount\n\n // Emit event\n emit TransferSingle(msg.sender, _from, _to, _id, _amount);\n }\n\n /**\n * @notice Verifies if receiver is contract and if so, calls (_to).onERC1155Received(...)\n */\n function _callonERC1155Received(address _from, address _to, uint256 _id, uint256 _amount, uint256 _gasLimit, bytes memory _data)\n internal\n {\n // Check if recipient is contract\n if (_to.isContract()) {\n bytes4 retval = IERC1155TokenReceiver(_to).onERC1155Received.gas(_gasLimit)(msg.sender, _from, _id, _amount, _data);\n require(retval == ERC1155_RECEIVED_VALUE, \"ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE\");\n }\n }\n\n /**\n * @notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n * @param _from Source addresses\n * @param _to Target addresses\n * @param _ids IDs of each token type\n * @param _amounts Transfer amounts per token type\n */\n function _safeBatchTransferFrom(address _from, address _to, uint256[] memory _ids, uint256[] memory _amounts)\n internal\n {\n require(_ids.length == _amounts.length, \"ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH\");\n\n // Number of transfer to execute\n uint256 nTransfer = _ids.length;\n\n // Executing all transfers\n for (uint256 i = 0; i < nTransfer; i++) {\n // Update storage balance of previous bin\n balances[_from][_ids[i]] = balances[_from][_ids[i]].sub(_amounts[i]);\n balances[_to][_ids[i]] = balances[_to][_ids[i]].add(_amounts[i]);\n }\n\n // Emit event\n emit TransferBatch(msg.sender, _from, _to, _ids, _amounts);\n }\n\n /**\n * @notice Verifies if receiver is contract and if so, calls (_to).onERC1155BatchReceived(...)\n */\n function _callonERC1155BatchReceived(address _from, address _to, uint256[] memory _ids, uint256[] memory _amounts, uint256 _gasLimit, bytes memory _data)\n internal\n {\n // Pass data if recipient is contract\n if (_to.isContract()) {\n bytes4 retval = IERC1155TokenReceiver(_to).onERC1155BatchReceived.gas(_gasLimit)(msg.sender, _from, _ids, _amounts, _data);\n require(retval == ERC1155_BATCH_RECEIVED_VALUE, \"ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE\");\n }\n }\n\n\n /***********************************|\n | Operator Functions |\n |__________________________________*/\n\n /**\n * @notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n * @param _operator Address to add to the set of authorized operators\n * @param _approved True if the operator is approved, false to revoke approval\n */\n function setApprovalForAll(address _operator, bool _approved)\n external\n {\n // Update operator status\n operators[msg.sender][_operator] = _approved;\n emit ApprovalForAll(msg.sender, _operator, _approved);\n }\n\n /**\n * @notice Queries the approval status of an operator for a given owner\n * @param _owner The owner of the Tokens\n * @param _operator Address of authorized operator\n * @return True if the operator is approved, false if not\n */\n function isApprovedForAll(address _owner, address _operator)\n public view returns (bool isOperator)\n {\n return operators[_owner][_operator];\n }\n\n\n /***********************************|\n | Balance Functions |\n |__________________________________*/\n\n /**\n * @notice Get the balance of an account's Tokens\n * @param _owner The address of the token holder\n * @param _id ID of the Token\n * @return The _owner's balance of the Token type requested\n */\n function balanceOf(address _owner, uint256 _id)\n public view returns (uint256)\n {\n return balances[_owner][_id];\n }\n\n /**\n * @notice Get the balance of multiple account/token pairs\n * @param _owners The addresses of the token holders\n * @param _ids ID of the Tokens\n * @return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\n */\n function balanceOfBatch(address[] memory _owners, uint256[] memory _ids)\n public view returns (uint256[] memory)\n {\n require(_owners.length == _ids.length, \"ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH\");\n\n // Variables\n uint256[] memory batchBalances = new uint256[](_owners.length);\n\n // Iterate over each owner and token ID\n for (uint256 i = 0; i < _owners.length; i++) {\n batchBalances[i] = balances[_owners[i]][_ids[i]];\n }\n\n return batchBalances;\n }\n\n\n /***********************************|\n | ERC165 Functions |\n |__________________________________*/\n\n /**\n * INTERFACE_SIGNATURE_ERC165 = bytes4(keccak256(\"supportsInterface(bytes4)\"));\n */\n bytes4 constant private INTERFACE_SIGNATURE_ERC165 = 0x01ffc9a7;\n\n /**\n * INTERFACE_SIGNATURE_ERC1155 =\n * bytes4(keccak256(\"safeTransferFrom(address,address,uint256,uint256,bytes)\")) ^\n * bytes4(keccak256(\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\")) ^\n * bytes4(keccak256(\"balanceOf(address,uint256)\")) ^\n * bytes4(keccak256(\"balanceOfBatch(address[],uint256[])\")) ^\n * bytes4(keccak256(\"setApprovalForAll(address,bool)\")) ^\n * bytes4(keccak256(\"isApprovedForAll(address,address)\"));\n */\n bytes4 constant private INTERFACE_SIGNATURE_ERC1155 = 0xd9b67a26;\n\n /**\n * @notice Query if a contract implements an interface\n * @param _interfaceID The interface identifier, as specified in ERC-165\n * @return `true` if the contract implements `_interfaceID` and\n */\n function supportsInterface(bytes4 _interfaceID) external view returns (bool) {\n if (_interfaceID == INTERFACE_SIGNATURE_ERC165 ||\n _interfaceID == INTERFACE_SIGNATURE_ERC1155) {\n return true;\n }\n return false;\n }\n}\n", - "sourcePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "exportedSymbols": { - "ERC1155": [ - 3502 - ] - }, - "id": 3503, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2977, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:18" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "../../interfaces/IERC165.sol", - "id": 2978, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2976, - "src": "26:38:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/utils/SafeMath.sol", - "file": "../../utils/SafeMath.sol", - "id": 2979, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 3832, - "src": "65:34:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "../../interfaces/IERC1155TokenReceiver.sol", - "id": 2980, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2966, - "src": "100:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "../../interfaces/IERC1155.sol", - "id": 2981, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2924, - "src": "153:39:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 2982, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 3699, - "src": "193:33:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2983, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2975, - "src": "313:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2975", - "typeString": "contract IERC165" - } - }, - "id": 2984, - "nodeType": "InheritanceSpecifier", - "src": "313:7:18" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2985, - "name": "IERC1155", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2923, - "src": "322:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155_$2923", - "typeString": "contract IERC1155" - } - }, - "id": 2986, - "nodeType": "InheritanceSpecifier", - "src": "322:8:18" - } - ], - "contractDependencies": [ - 2923, - 2975 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of Multi-Token Standard contract", - "fullyImplemented": true, - "id": 3502, - "linearizedBaseContracts": [ - 3502, - 2923, - 2975 - ], - "name": "ERC1155", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2989, - "libraryName": { - "contractScope": null, - "id": 2987, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3831, - "src": "341:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$3831", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "335:27:18", - "typeName": { - "id": 2988, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "354:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 2992, - "libraryName": { - "contractScope": null, - "id": 2990, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3698, - "src": "371:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$3698", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "365:26:18", - "typeName": { - "id": 2991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "383:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "constant": true, - "id": 2995, - "name": "ERC1155_RECEIVED_VALUE", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "551:60:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2993, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "551:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "601:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 2998, - "name": "ERC1155_BATCH_RECEIVED_VALUE", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "615:66:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2996, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "615:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 2997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "671:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3004, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "708:66:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 3003, - "keyType": { - "id": 2999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "717:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "708:48:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 3002, - "keyType": { - "id": 3000, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "736:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "728:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 3001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "747:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3010, - "name": "operators", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "803:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 3009, - "keyType": { - "id": 3005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "812:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "803:45:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 3008, - "keyType": { - "id": 3006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "831:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "823:24:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 3007, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "842:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 3064, - "nodeType": "Block", - "src": "1460:430:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3024, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1475:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1475:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3026, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1489:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1475:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3028, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1474:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3030, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1516:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3031, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1523:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1523:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3029, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "1499:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1499:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1474:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52", - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1536:44:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_391321fa85bb678df91a5e72636171ccb12770d7f5ab9dc059447ddcfd15a6c8", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_OPERATOR\"" - }, - "value": "ERC1155#safeTransferFrom: INVALID_OPERATOR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_391321fa85bb678df91a5e72636171ccb12770d7f5ab9dc059447ddcfd15a6c8", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_OPERATOR\"" - } - ], - "id": 3023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1466:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1466:115:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3037, - "nodeType": "ExpressionStatement", - "src": "1466:115:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3039, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1595:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1610:1:18", - "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": 3040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1602:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1602:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1595:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e54", - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1613:45:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0bff6da1c1b80dde62b2a49dd7ff5f7217f2027603d1daa34872c0143a6e39a0", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_RECIPIENT\"" - }, - "value": "ERC1155#safeTransferFrom: INVALID_RECIPIENT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0bff6da1c1b80dde62b2a49dd7ff5f7217f2027603d1daa34872c0143a6e39a0", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_RECIPIENT\"" - } - ], - "id": 3038, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1587:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1587:72:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3046, - "nodeType": "ExpressionStatement", - "src": "1587:72:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3048, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1788:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3049, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1795:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3050, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3016, - "src": "1800:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3051, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3018, - "src": "1805:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3047, - "name": "_safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3173, - "src": "1770:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1770:43:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3053, - "nodeType": "ExpressionStatement", - "src": "1770:43:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3055, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1842:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3056, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1849:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3057, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3016, - "src": "1854:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3058, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3018, - "src": "1859:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3059, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "1868:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1868:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3061, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3020, - "src": "1879:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3054, - "name": "_callonERC1155Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "1819:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes memory)" - } - }, - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1819:66:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3063, - "nodeType": "ExpressionStatement", - "src": "1819:66:18" - } - ] - }, - "documentation": "@notice Transfers amount amount of an _id from the _from address to the _to address specified\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 3065, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3012, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1369:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1369:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3014, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1384:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3013, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1384:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3016, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1397:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1397:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3018, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1410:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1410:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3020, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1427:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3019, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1427:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1368:78:18" - }, - "returnParameters": { - "id": 3022, - "nodeType": "ParameterList", - "parameters": [], - "src": "1460:0:18" - }, - "scope": 3502, - "src": "1343:547:18", - "stateMutability": "nonpayable", - "superFunction": 2870, - "visibility": "public" - }, - { - "body": { - "id": 3121, - "nodeType": "Block", - "src": "2415:371:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "2450:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2450:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3083, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2464:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2450:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3085, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2449:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3087, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2491:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3088, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "2498:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2498:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3086, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "2474:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 3090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2474:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2449:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52", - "id": 3092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2511:49:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af2375b4d68efb9f9971de37573333a29442946b4cf45dada7b72253ac12f7e9", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_OPERATOR\"" - }, - "value": "ERC1155#safeBatchTransferFrom: INVALID_OPERATOR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af2375b4d68efb9f9971de37573333a29442946b4cf45dada7b72253ac12f7e9", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_OPERATOR\"" - } - ], - "id": 3080, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "2441:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2441:120:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3094, - "nodeType": "ExpressionStatement", - "src": "2441:120:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3096, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2575:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2590:1:18", - "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": 3097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2582:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2575:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54", - "id": 3101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2594:50:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_909754ecf431a77f5e0445d029892e7f6b373421021181202e7a0bd0151a73cc", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT\"" - }, - "value": "ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_909754ecf431a77f5e0445d029892e7f6b373421021181202e7a0bd0151a73cc", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT\"" - } - ], - "id": 3095, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "2567:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2567:78:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3103, - "nodeType": "ExpressionStatement", - "src": "2567:78:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3105, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2675:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3106, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2682:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3107, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3072, - "src": "2687:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3108, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "2693:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 3104, - "name": "_safeBatchTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3309, - "src": "2652:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 3109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2652:50:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3110, - "nodeType": "ExpressionStatement", - "src": "2652:50:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3112, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2736:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3113, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2743:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3114, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3072, - "src": "2748:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3115, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "2754:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3116, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "2764:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2764:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3118, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3077, - "src": "2775:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3111, - "name": "_callonERC1155BatchReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "2708:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,uint256,bytes memory)" - } - }, - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2708:73:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3120, - "nodeType": "ExpressionStatement", - "src": "2708:73:18" - } - ] - }, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 3122, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3067, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2304:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2304:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3069, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2319:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2319:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3072, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2332:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2332:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3071, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2332:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3075, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2355:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2355:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3074, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2355:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3077, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2382:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3076, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2382:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2303:98:18" - }, - "returnParameters": { - "id": 3079, - "nodeType": "ParameterList", - "parameters": [], - "src": "2415:0:18" - }, - "scope": 3502, - "src": "2273:513:18", - "stateMutability": "nonpayable", - "superFunction": 2885, - "visibility": "public" - }, - { - "body": { - "id": 3172, - "nodeType": "Block", - "src": "3276:267:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3133, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3305:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3136, - "indexExpression": { - "argumentTypes": null, - "id": 3134, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3314:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3305:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3137, - "indexExpression": { - "argumentTypes": null, - "id": 3135, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3321:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3305:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3144, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3353:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3138, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3328:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3140, - "indexExpression": { - "argumentTypes": null, - "id": 3139, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3337:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3328:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3142, - "indexExpression": { - "argumentTypes": null, - "id": 3141, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3344:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3328:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "3328:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3328:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3305:56:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3147, - "nodeType": "ExpressionStatement", - "src": "3305:56:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3148, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3386:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3151, - "indexExpression": { - "argumentTypes": null, - "id": 3149, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3395:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3386:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3152, - "indexExpression": { - "argumentTypes": null, - "id": 3150, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3400:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3386:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3159, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3430:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3153, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3407:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3155, - "indexExpression": { - "argumentTypes": null, - "id": 3154, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3416:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3407:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3157, - "indexExpression": { - "argumentTypes": null, - "id": 3156, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3421:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3407:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "3407:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3407:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3386:52:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3162, - "nodeType": "ExpressionStatement", - "src": "3386:52:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3164, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "3501:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3501:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3166, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3513:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3167, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3520:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3168, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3525:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3169, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3530:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3163, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "3486:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3486:52:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3171, - "nodeType": "EmitStatement", - "src": "3481:57:18" - } - ] - }, - "documentation": "@notice Transfers amount amount of an _id from the _from address to the _to address specified\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount", - "id": 3173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3124, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3203:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3123, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3203:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3126, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3218:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3218:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3128, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3231:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3231:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3130, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3244:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3244:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3202:58:18" - }, - "returnParameters": { - "id": 3132, - "nodeType": "ParameterList", - "parameters": [], - "src": "3276:0:18" - }, - "scope": 3502, - "src": "3176:367:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3217, - "nodeType": "Block", - "src": "3795:311:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3188, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "3843:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 3697, - "src": "3843:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3843:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3216, - "nodeType": "IfStatement", - "src": "3839:263:18", - "trueBody": { - "id": 3215, - "nodeType": "Block", - "src": "3861:241:18", - "statements": [ - { - "assignments": [ - 3192 - ], - "declarations": [ - { - "constant": false, - "id": 3192, - "name": "retval", - "nodeType": "VariableDeclaration", - "scope": 3215, - "src": "3869:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3191, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3869:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3207, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "3945:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3945:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3202, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3175, - "src": "3957:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3203, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3179, - "src": "3964:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3204, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3181, - "src": "3969:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3205, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3185, - "src": "3978:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 3198, - "name": "_gasLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "3934:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3194, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "3907:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3193, - "name": "IERC1155TokenReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "3885:21:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1155TokenReceiver_$2965_$", - "typeString": "type(contract IERC1155TokenReceiver)" - } - }, - "id": 3195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:26:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2965", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC1155Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 2940, - "src": "3885:44:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 3197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "gas", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3885:48:18", - "typeDescriptions": { - "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas_$", - "typeString": "function (uint256) pure returns (function (address,address,uint256,uint256,bytes memory) external returns (bytes4))" - } - }, - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:59:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas", - "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:99:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3869:115:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3209, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "4000:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3210, - "name": "ERC1155_RECEIVED_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2995, - "src": "4010:22:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4000:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745", - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4034:60:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d1e4892029f7262891cacb3a63cb31fcb3ef3a098f2da66a45f307373dd74740", - "typeString": "literal_string \"ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE\"" - }, - "value": "ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d1e4892029f7262891cacb3a63cb31fcb3ef3a098f2da66a45f307373dd74740", - "typeString": "literal_string \"ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE\"" - } - ], - "id": 3208, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "3992:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3992:103:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3214, - "nodeType": "ExpressionStatement", - "src": "3992:103:18" - } - ] - } - } - ] - }, - "documentation": "@notice Verifies if receiver is contract and if so, calls (_to).onERC1155Received(...)", - "id": 3218, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callonERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3175, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3683:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3683:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3177, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3698:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3176, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3698:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3179, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3711:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3178, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3711:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3181, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3724:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3724:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3183, - "name": "_gasLimit", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3741:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3741:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3185, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3760:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3184, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3760:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3682:97:18" - }, - "returnParameters": { - "id": 3187, - "nodeType": "ParameterList", - "parameters": [], - "src": "3795:0:18" - }, - "scope": 3502, - "src": "3651:455:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3308, - "nodeType": "Block", - "src": "4528:545:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3232, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4542:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4542:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3234, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4557:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4557:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4542:30:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e475448", - "id": 3237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4574:55:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f5f172baf37961126779b1494b916cae331a9ccc62d5cf3660ee672bc15e9e3", - "typeString": "literal_string \"ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f5f172baf37961126779b1494b916cae331a9ccc62d5cf3660ee672bc15e9e3", - "typeString": "literal_string \"ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 3231, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "4534:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4534:96:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3239, - "nodeType": "ExpressionStatement", - "src": "4534:96:18" - }, - { - "assignments": [ - 3241 - ], - "declarations": [ - { - "constant": false, - "id": 3241, - "name": "nTransfer", - "nodeType": "VariableDeclaration", - "scope": 3308, - "src": "4674:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4674:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3244, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3242, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4694:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4694:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4674:31:18" - }, - { - "body": { - "id": 3297, - "nodeType": "Block", - "src": "4783:203:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3255, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4839:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3260, - "indexExpression": { - "argumentTypes": null, - "id": 3256, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "4848:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4839:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3261, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3257, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4855:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3259, - "indexExpression": { - "argumentTypes": null, - "id": 3258, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4860:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4855:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4839:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3270, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4895:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3272, - "indexExpression": { - "argumentTypes": null, - "id": 3271, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4904:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4895:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3262, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4866:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3264, - "indexExpression": { - "argumentTypes": null, - "id": 3263, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "4875:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4866:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3268, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3265, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4882:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3267, - "indexExpression": { - "argumentTypes": null, - "id": 3266, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4887:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4882:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4866:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "4866:28:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4866:41:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4839:68:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3275, - "nodeType": "ExpressionStatement", - "src": "4839:68:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3276, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4915:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3281, - "indexExpression": { - "argumentTypes": null, - "id": 3277, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "4924:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4915:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3282, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3278, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4929:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3280, - "indexExpression": { - "argumentTypes": null, - "id": 3279, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4934:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4929:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4915:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3291, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4967:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3293, - "indexExpression": { - "argumentTypes": null, - "id": 3292, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4976:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4967:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3283, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4940:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3285, - "indexExpression": { - "argumentTypes": null, - "id": 3284, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "4949:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4940:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3289, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3286, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4954:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3288, - "indexExpression": { - "argumentTypes": null, - "id": 3287, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4959:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4954:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4940:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "4940:26:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4940:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4915:64:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3296, - "nodeType": "ExpressionStatement", - "src": "4915:64:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3249, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4763:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3250, - "name": "nTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3241, - "src": "4767:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4763:13:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3298, - "initializationExpression": { - "assignments": [ - 3246 - ], - "declarations": [ - { - "constant": false, - "id": 3246, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3298, - "src": "4748:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3248, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4760:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4748:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4778:3:18", - "subExpression": { - "argumentTypes": null, - "id": 3252, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4778:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3254, - "nodeType": "ExpressionStatement", - "src": "4778:3:18" - }, - "nodeType": "ForStatement", - "src": "4743:243:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3300, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "5029:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5029:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3302, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "5041:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3303, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "5048:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3304, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "5053:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3305, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "5059:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 3299, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "5015:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 3306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5015:53:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3307, - "nodeType": "EmitStatement", - "src": "5010:58:18" - } - ] - }, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type", - "id": 3309, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3229, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3220, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4435:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3219, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4435:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3222, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4450:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3221, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4450:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3225, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4463:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4463:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3224, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4463:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3228, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4486:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4486:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3227, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4486:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:78:18" - }, - "returnParameters": { - "id": 3230, - "nodeType": "ParameterList", - "parameters": [], - "src": "4528:0:18" - }, - "scope": 3502, - "src": "4403:670:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3355, - "nodeType": "Block", - "src": "5355:333:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3326, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3313, - "src": "5407:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 3697, - "src": "5407:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5407:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3354, - "nodeType": "IfStatement", - "src": "5403:281:18", - "trueBody": { - "id": 3353, - "nodeType": "Block", - "src": "5425:259:18", - "statements": [ - { - "assignments": [ - 3330 - ], - "declarations": [ - { - "constant": false, - "id": 3330, - "name": "retval", - "nodeType": "VariableDeclaration", - "scope": 3353, - "src": "5433:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3329, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5433:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3345, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3338, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "5514:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5514:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3340, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3311, - "src": "5526:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3341, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3316, - "src": "5533:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3342, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "5539:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3343, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3323, - "src": "5549:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 3336, - "name": "_gasLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3321, - "src": "5503:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3332, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3313, - "src": "5471:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3331, - "name": "IERC1155TokenReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "5449:21:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1155TokenReceiver_$2965_$", - "typeString": "type(contract IERC1155TokenReceiver)" - } - }, - "id": 3333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:26:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2965", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 3334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC1155BatchReceived", - "nodeType": "MemberAccess", - "referencedDeclaration": 2957, - "src": "5449:49:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" - } - }, - "id": 3335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "gas", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5449:53:18", - "typeDescriptions": { - "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas_$", - "typeString": "function (uint256) pure returns (function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4))" - } - }, - "id": 3337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:64:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" - } - }, - "id": 3344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:106:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5433:122:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3347, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3330, - "src": "5571:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3348, - "name": "ERC1155_BATCH_RECEIVED_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "5581:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5571:38:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745", - "id": 3350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5611:65:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d01e89a9585e3758ec71f0b758b0e5a5f1316bddeb547d3737010dd4a5578f32", - "typeString": "literal_string \"ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE\"" - }, - "value": "ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d01e89a9585e3758ec71f0b758b0e5a5f1316bddeb547d3737010dd4a5578f32", - "typeString": "literal_string \"ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE\"" - } - ], - "id": 3346, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5563:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5563:114:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3352, - "nodeType": "ExpressionStatement", - "src": "5563:114:18" - } - ] - } - } - ] - }, - "documentation": "@notice Verifies if receiver is contract and if so, calls (_to).onERC1155BatchReceived(...)", - "id": 3356, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callonERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3311, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5223:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5223:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3313, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5238:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3312, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5238:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3316, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5251:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5251:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3315, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5251:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3319, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5274:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3317, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5274:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3318, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5274:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3321, - "name": "_gasLimit", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5301:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5301:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3323, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5320:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3322, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5320:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5222:117:18" - }, - "returnParameters": { - "id": 3325, - "nodeType": "ParameterList", - "parameters": [], - "src": "5355:0:18" - }, - "scope": 3502, - "src": "5186:502:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3379, - "nodeType": "Block", - "src": "6162:144:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3363, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "6198:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 3367, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3364, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "6208:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6208:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6198:21:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3368, - "indexExpression": { - "argumentTypes": null, - "id": 3366, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3358, - "src": "6220:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6198:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3369, - "name": "_approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3360, - "src": "6233:9:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6198:44:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3371, - "nodeType": "ExpressionStatement", - "src": "6198:44:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3373, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "6268:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6268:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3375, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3358, - "src": "6280:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3376, - "name": "_approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3360, - "src": "6291:9:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3372, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2851, - "src": "6253:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 3377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6253:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3378, - "nodeType": "EmitStatement", - "src": "6248:53:18" - } - ] - }, - "documentation": "@notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n@param _operator Address to add to the set of authorized operators\n@param _approved True if the operator is approved, false to revoke approval", - "id": 3380, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3361, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3358, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 3380, - "src": "6112:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6112:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3360, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 3380, - "src": "6131:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3359, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6131:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6111:35:18" - }, - "returnParameters": { - "id": 3362, - "nodeType": "ParameterList", - "parameters": [], - "src": "6162:0:18" - }, - "scope": 3502, - "src": "6085:221:18", - "stateMutability": "nonpayable", - "superFunction": 2913, - "visibility": "external" - }, - { - "body": { - "id": 3395, - "nodeType": "Block", - "src": "6662:46:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3389, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "6675:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 3391, - "indexExpression": { - "argumentTypes": null, - "id": 3390, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3382, - "src": "6685:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6675:17:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3393, - "indexExpression": { - "argumentTypes": null, - "id": 3392, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3384, - "src": "6693:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6675:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3388, - "id": 3394, - "nodeType": "Return", - "src": "6668:35:18" - } - ] - }, - "documentation": "@notice Queries the approval status of an operator for a given owner\n@param _owner The owner of the Tokens\n@param _operator Address of authorized operator\n@return True if the operator is approved, false if not", - "id": 3396, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3382, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6583:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6583:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3384, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6599:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6599:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6582:35:18" - }, - "returnParameters": { - "id": 3388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3387, - "name": "isOperator", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6643:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3386, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6643:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6642:17:18" - }, - "scope": 3502, - "src": "6557:151:18", - "stateMutability": "view", - "superFunction": 2922, - "visibility": "public" - }, - { - "body": { - "id": 3411, - "nodeType": "Block", - "src": "7132:39:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3405, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "7145:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3407, - "indexExpression": { - "argumentTypes": null, - "id": 3406, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3398, - "src": "7154:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7145:16:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3409, - "indexExpression": { - "argumentTypes": null, - "id": 3408, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "7162:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7145:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3404, - "id": 3410, - "nodeType": "Return", - "src": "7138:28:18" - } - ] - }, - "documentation": "@notice Get the balance of an account's Tokens\n@param _owner The address of the token holder\n@param _id ID of the Token\n@return The _owner's balance of the Token type requested", - "id": 3412, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3401, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3398, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7067:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3397, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7067:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3400, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7083:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7083:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7066:29:18" - }, - "returnParameters": { - "id": 3404, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3403, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7121:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7121:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7120:9:18" - }, - "scope": 3502, - "src": "7048:123:18", - "stateMutability": "view", - "superFunction": 2894, - "visibility": "public" - }, - { - "body": { - "id": 3473, - "nodeType": "Block", - "src": "7569:368:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3425, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7583:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7583:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3427, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3418, - "src": "7601:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7601:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7583:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e475448", - "id": 3430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7614:46:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a4238933bea90e19d8a4b6d3db87260a7b7b62f1d27625f892fb051d61a85b44", - "typeString": "literal_string \"ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH\"" - }, - "value": "ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a4238933bea90e19d8a4b6d3db87260a7b7b62f1d27625f892fb051d61a85b44", - "typeString": "literal_string \"ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH\"" - } - ], - "id": 3424, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7575:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7575:86:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3432, - "nodeType": "ExpressionStatement", - "src": "7575:86:18" - }, - { - "assignments": [ - 3436 - ], - "declarations": [ - { - "constant": false, - "id": 3436, - "name": "batchBalances", - "nodeType": "VariableDeclaration", - "scope": 3473, - "src": "7685:30:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7685:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3435, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7685:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3443, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3440, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7732:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7732:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "7718:13:18", - "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": 3437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7722:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3438, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7722:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7718:29:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7685:62:18" - }, - { - "body": { - "id": 3469, - "nodeType": "Block", - "src": "7843:63:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3455, - "name": "batchBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "7851:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3457, - "indexExpression": { - "argumentTypes": null, - "id": 3456, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7865:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7851:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3458, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "7870:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3462, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3459, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7879:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3461, - "indexExpression": { - "argumentTypes": null, - "id": 3460, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7887:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7879:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7870:20:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3466, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3463, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3418, - "src": "7891:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3465, - "indexExpression": { - "argumentTypes": null, - "id": 3464, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7896:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7891:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7870:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7851:48:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3468, - "nodeType": "ExpressionStatement", - "src": "7851:48:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3448, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7818:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3449, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7822:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7822:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7818:18:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3470, - "initializationExpression": { - "assignments": [ - 3445 - ], - "declarations": [ - { - "constant": false, - "id": 3445, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3470, - "src": "7803:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7803:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3447, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7815:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7803:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7838:3:18", - "subExpression": { - "argumentTypes": null, - "id": 3452, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7838:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3454, - "nodeType": "ExpressionStatement", - "src": "7838:3:18" - }, - "nodeType": "ForStatement", - "src": "7798:108:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3471, - "name": "batchBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "7919:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 3423, - "id": 3472, - "nodeType": "Return", - "src": "7912:20:18" - } - ] - }, - "documentation": "@notice Get the balance of multiple account/token pairs\n@param _owners The addresses of the token holders\n@param _ids ID of the Tokens\n@return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)", - "id": 3474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOfBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3415, - "name": "_owners", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7475:24:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7475:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3414, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7475:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3418, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7501:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7501:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3417, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7501:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7474:49:18" - }, - "returnParameters": { - "id": 3423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3422, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7549:16:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7549:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3421, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7549:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7548:18:18" - }, - "scope": 3502, - "src": "7451:486:18", - "stateMutability": "view", - "superFunction": 2906, - "visibility": "public" - }, - { - "constant": true, - "id": 3477, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "8157:63:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3475, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8157:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 3476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8210:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3480, - "name": "INTERFACE_SIGNATURE_ERC1155", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "8689:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3478, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8689:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786439623637613236", - "id": 3479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8743:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3652614694_by_1", - "typeString": "int_const 3652614694" - }, - "value": "0xd9b67a26" - }, - "visibility": "private" - }, - { - "body": { - "id": 3500, - "nodeType": "Block", - "src": "9046:157:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3487, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3482, - "src": "9056:12:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3488, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3477, - "src": "9072:26:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9056:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3490, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3482, - "src": "9110:12:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3491, - "name": "INTERFACE_SIGNATURE_ERC1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3480, - "src": "9126:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9110:43:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9056:97:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3497, - "nodeType": "IfStatement", - "src": "9052:129:18", - "trueBody": { - "id": 3496, - "nodeType": "Block", - "src": "9155:26:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3494, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9170:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3486, - "id": 3495, - "nodeType": "Return", - "src": "9163:11:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9193:5:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 3486, - "id": 3499, - "nodeType": "Return", - "src": "9186:12:18" - } - ] - }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 3501, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3482, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 3501, - "src": "8996:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3481, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8996:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8995:21:18" - }, - "returnParameters": { - "id": 3486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3485, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3501, - "src": "9040:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3484, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9040:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9039:6:18" - }, - "scope": 3502, - "src": "8969:234:18", - "stateMutability": "view", - "superFunction": 2974, - "visibility": "external" - } - ], - "scope": 3503, - "src": "293:8912:18" - } - ], - "src": "0:9206:18" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "exportedSymbols": { - "ERC1155": [ - 3502 - ] - }, - "id": 3503, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2977, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:18" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "../../interfaces/IERC165.sol", - "id": 2978, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2976, - "src": "26:38:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/utils/SafeMath.sol", - "file": "../../utils/SafeMath.sol", - "id": 2979, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 3832, - "src": "65:34:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "../../interfaces/IERC1155TokenReceiver.sol", - "id": 2980, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2966, - "src": "100:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "../../interfaces/IERC1155.sol", - "id": 2981, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2924, - "src": "153:39:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 2982, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 3699, - "src": "193:33:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2983, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2975, - "src": "313:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2975", - "typeString": "contract IERC165" - } - }, - "id": 2984, - "nodeType": "InheritanceSpecifier", - "src": "313:7:18" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2985, - "name": "IERC1155", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2923, - "src": "322:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155_$2923", - "typeString": "contract IERC1155" - } - }, - "id": 2986, - "nodeType": "InheritanceSpecifier", - "src": "322:8:18" - } - ], - "contractDependencies": [ - 2923, - 2975 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of Multi-Token Standard contract", - "fullyImplemented": true, - "id": 3502, - "linearizedBaseContracts": [ - 3502, - 2923, - 2975 - ], - "name": "ERC1155", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2989, - "libraryName": { - "contractScope": null, - "id": 2987, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3831, - "src": "341:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$3831", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "335:27:18", - "typeName": { - "id": 2988, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "354:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 2992, - "libraryName": { - "contractScope": null, - "id": 2990, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3698, - "src": "371:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$3698", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "365:26:18", - "typeName": { - "id": 2991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "383:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "constant": true, - "id": 2995, - "name": "ERC1155_RECEIVED_VALUE", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "551:60:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2993, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "551:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "601:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 2998, - "name": "ERC1155_BATCH_RECEIVED_VALUE", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "615:66:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2996, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "615:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 2997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "671:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3004, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "708:66:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 3003, - "keyType": { - "id": 2999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "717:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "708:48:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 3002, - "keyType": { - "id": 3000, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "736:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "728:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 3001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "747:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3010, - "name": "operators", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "803:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 3009, - "keyType": { - "id": 3005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "812:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "803:45:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 3008, - "keyType": { - "id": 3006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "831:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "823:24:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 3007, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "842:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 3064, - "nodeType": "Block", - "src": "1460:430:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3024, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1475:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1475:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3026, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1489:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1475:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3028, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1474:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3030, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1516:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3031, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1523:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1523:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3029, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "1499:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1499:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1474:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52", - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1536:44:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_391321fa85bb678df91a5e72636171ccb12770d7f5ab9dc059447ddcfd15a6c8", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_OPERATOR\"" - }, - "value": "ERC1155#safeTransferFrom: INVALID_OPERATOR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_391321fa85bb678df91a5e72636171ccb12770d7f5ab9dc059447ddcfd15a6c8", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_OPERATOR\"" - } - ], - "id": 3023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1466:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1466:115:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3037, - "nodeType": "ExpressionStatement", - "src": "1466:115:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3039, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1595:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1610:1:18", - "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": 3040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1602:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1602:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1595:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e54", - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1613:45:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0bff6da1c1b80dde62b2a49dd7ff5f7217f2027603d1daa34872c0143a6e39a0", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_RECIPIENT\"" - }, - "value": "ERC1155#safeTransferFrom: INVALID_RECIPIENT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0bff6da1c1b80dde62b2a49dd7ff5f7217f2027603d1daa34872c0143a6e39a0", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_RECIPIENT\"" - } - ], - "id": 3038, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1587:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1587:72:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3046, - "nodeType": "ExpressionStatement", - "src": "1587:72:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3048, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1788:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3049, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1795:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3050, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3016, - "src": "1800:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3051, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3018, - "src": "1805:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3047, - "name": "_safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3173, - "src": "1770:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1770:43:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3053, - "nodeType": "ExpressionStatement", - "src": "1770:43:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3055, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1842:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3056, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1849:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3057, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3016, - "src": "1854:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3058, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3018, - "src": "1859:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3059, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "1868:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1868:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3061, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3020, - "src": "1879:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3054, - "name": "_callonERC1155Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "1819:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes memory)" - } - }, - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1819:66:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3063, - "nodeType": "ExpressionStatement", - "src": "1819:66:18" - } - ] - }, - "documentation": "@notice Transfers amount amount of an _id from the _from address to the _to address specified\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 3065, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3012, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1369:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1369:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3014, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1384:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3013, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1384:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3016, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1397:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1397:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3018, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1410:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1410:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3020, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1427:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3019, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1427:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1368:78:18" - }, - "returnParameters": { - "id": 3022, - "nodeType": "ParameterList", - "parameters": [], - "src": "1460:0:18" - }, - "scope": 3502, - "src": "1343:547:18", - "stateMutability": "nonpayable", - "superFunction": 2870, - "visibility": "public" - }, - { - "body": { - "id": 3121, - "nodeType": "Block", - "src": "2415:371:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "2450:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2450:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3083, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2464:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2450:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3085, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2449:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3087, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2491:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3088, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "2498:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2498:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3086, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "2474:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 3090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2474:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2449:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52", - "id": 3092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2511:49:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af2375b4d68efb9f9971de37573333a29442946b4cf45dada7b72253ac12f7e9", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_OPERATOR\"" - }, - "value": "ERC1155#safeBatchTransferFrom: INVALID_OPERATOR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af2375b4d68efb9f9971de37573333a29442946b4cf45dada7b72253ac12f7e9", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_OPERATOR\"" - } - ], - "id": 3080, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "2441:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2441:120:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3094, - "nodeType": "ExpressionStatement", - "src": "2441:120:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3096, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2575:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2590:1:18", - "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": 3097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2582:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2575:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54", - "id": 3101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2594:50:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_909754ecf431a77f5e0445d029892e7f6b373421021181202e7a0bd0151a73cc", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT\"" - }, - "value": "ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_909754ecf431a77f5e0445d029892e7f6b373421021181202e7a0bd0151a73cc", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT\"" - } - ], - "id": 3095, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "2567:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2567:78:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3103, - "nodeType": "ExpressionStatement", - "src": "2567:78:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3105, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2675:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3106, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2682:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3107, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3072, - "src": "2687:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3108, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "2693:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 3104, - "name": "_safeBatchTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3309, - "src": "2652:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 3109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2652:50:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3110, - "nodeType": "ExpressionStatement", - "src": "2652:50:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3112, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2736:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3113, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2743:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3114, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3072, - "src": "2748:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3115, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "2754:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3116, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "2764:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2764:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3118, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3077, - "src": "2775:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3111, - "name": "_callonERC1155BatchReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "2708:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,uint256,bytes memory)" - } - }, - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2708:73:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3120, - "nodeType": "ExpressionStatement", - "src": "2708:73:18" - } - ] - }, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 3122, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3067, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2304:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2304:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3069, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2319:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2319:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3072, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2332:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2332:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3071, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2332:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3075, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2355:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2355:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3074, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2355:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3077, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2382:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3076, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2382:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2303:98:18" - }, - "returnParameters": { - "id": 3079, - "nodeType": "ParameterList", - "parameters": [], - "src": "2415:0:18" - }, - "scope": 3502, - "src": "2273:513:18", - "stateMutability": "nonpayable", - "superFunction": 2885, - "visibility": "public" - }, - { - "body": { - "id": 3172, - "nodeType": "Block", - "src": "3276:267:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3133, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3305:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3136, - "indexExpression": { - "argumentTypes": null, - "id": 3134, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3314:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3305:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3137, - "indexExpression": { - "argumentTypes": null, - "id": 3135, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3321:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3305:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3144, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3353:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3138, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3328:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3140, - "indexExpression": { - "argumentTypes": null, - "id": 3139, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3337:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3328:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3142, - "indexExpression": { - "argumentTypes": null, - "id": 3141, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3344:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3328:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "3328:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3328:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3305:56:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3147, - "nodeType": "ExpressionStatement", - "src": "3305:56:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3148, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3386:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3151, - "indexExpression": { - "argumentTypes": null, - "id": 3149, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3395:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3386:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3152, - "indexExpression": { - "argumentTypes": null, - "id": 3150, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3400:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3386:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3159, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3430:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3153, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3407:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3155, - "indexExpression": { - "argumentTypes": null, - "id": 3154, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3416:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3407:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3157, - "indexExpression": { - "argumentTypes": null, - "id": 3156, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3421:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3407:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "3407:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3407:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3386:52:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3162, - "nodeType": "ExpressionStatement", - "src": "3386:52:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3164, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "3501:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3501:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3166, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3513:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3167, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3520:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3168, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3525:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3169, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3530:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3163, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "3486:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3486:52:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3171, - "nodeType": "EmitStatement", - "src": "3481:57:18" - } - ] - }, - "documentation": "@notice Transfers amount amount of an _id from the _from address to the _to address specified\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount", - "id": 3173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3124, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3203:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3123, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3203:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3126, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3218:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3218:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3128, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3231:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3231:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3130, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3244:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3244:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3202:58:18" - }, - "returnParameters": { - "id": 3132, - "nodeType": "ParameterList", - "parameters": [], - "src": "3276:0:18" - }, - "scope": 3502, - "src": "3176:367:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3217, - "nodeType": "Block", - "src": "3795:311:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3188, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "3843:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 3697, - "src": "3843:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3843:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3216, - "nodeType": "IfStatement", - "src": "3839:263:18", - "trueBody": { - "id": 3215, - "nodeType": "Block", - "src": "3861:241:18", - "statements": [ - { - "assignments": [ - 3192 - ], - "declarations": [ - { - "constant": false, - "id": 3192, - "name": "retval", - "nodeType": "VariableDeclaration", - "scope": 3215, - "src": "3869:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3191, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3869:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3207, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "3945:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3945:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3202, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3175, - "src": "3957:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3203, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3179, - "src": "3964:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3204, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3181, - "src": "3969:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3205, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3185, - "src": "3978:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 3198, - "name": "_gasLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "3934:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3194, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "3907:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3193, - "name": "IERC1155TokenReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "3885:21:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1155TokenReceiver_$2965_$", - "typeString": "type(contract IERC1155TokenReceiver)" - } - }, - "id": 3195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:26:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2965", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC1155Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 2940, - "src": "3885:44:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 3197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "gas", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3885:48:18", - "typeDescriptions": { - "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas_$", - "typeString": "function (uint256) pure returns (function (address,address,uint256,uint256,bytes memory) external returns (bytes4))" - } - }, - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:59:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas", - "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:99:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3869:115:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3209, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "4000:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3210, - "name": "ERC1155_RECEIVED_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2995, - "src": "4010:22:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4000:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745", - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4034:60:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d1e4892029f7262891cacb3a63cb31fcb3ef3a098f2da66a45f307373dd74740", - "typeString": "literal_string \"ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE\"" - }, - "value": "ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d1e4892029f7262891cacb3a63cb31fcb3ef3a098f2da66a45f307373dd74740", - "typeString": "literal_string \"ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE\"" - } - ], - "id": 3208, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "3992:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3992:103:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3214, - "nodeType": "ExpressionStatement", - "src": "3992:103:18" - } - ] - } - } - ] - }, - "documentation": "@notice Verifies if receiver is contract and if so, calls (_to).onERC1155Received(...)", - "id": 3218, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callonERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3175, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3683:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3683:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3177, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3698:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3176, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3698:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3179, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3711:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3178, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3711:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3181, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3724:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3724:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3183, - "name": "_gasLimit", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3741:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3741:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3185, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3760:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3184, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3760:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3682:97:18" - }, - "returnParameters": { - "id": 3187, - "nodeType": "ParameterList", - "parameters": [], - "src": "3795:0:18" - }, - "scope": 3502, - "src": "3651:455:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3308, - "nodeType": "Block", - "src": "4528:545:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3232, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4542:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4542:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3234, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4557:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4557:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4542:30:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e475448", - "id": 3237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4574:55:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f5f172baf37961126779b1494b916cae331a9ccc62d5cf3660ee672bc15e9e3", - "typeString": "literal_string \"ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f5f172baf37961126779b1494b916cae331a9ccc62d5cf3660ee672bc15e9e3", - "typeString": "literal_string \"ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 3231, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "4534:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4534:96:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3239, - "nodeType": "ExpressionStatement", - "src": "4534:96:18" - }, - { - "assignments": [ - 3241 - ], - "declarations": [ - { - "constant": false, - "id": 3241, - "name": "nTransfer", - "nodeType": "VariableDeclaration", - "scope": 3308, - "src": "4674:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4674:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3244, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3242, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4694:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4694:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4674:31:18" - }, - { - "body": { - "id": 3297, - "nodeType": "Block", - "src": "4783:203:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3255, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4839:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3260, - "indexExpression": { - "argumentTypes": null, - "id": 3256, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "4848:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4839:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3261, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3257, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4855:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3259, - "indexExpression": { - "argumentTypes": null, - "id": 3258, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4860:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4855:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4839:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3270, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4895:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3272, - "indexExpression": { - "argumentTypes": null, - "id": 3271, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4904:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4895:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3262, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4866:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3264, - "indexExpression": { - "argumentTypes": null, - "id": 3263, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "4875:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4866:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3268, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3265, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4882:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3267, - "indexExpression": { - "argumentTypes": null, - "id": 3266, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4887:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4882:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4866:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "4866:28:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4866:41:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4839:68:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3275, - "nodeType": "ExpressionStatement", - "src": "4839:68:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3276, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4915:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3281, - "indexExpression": { - "argumentTypes": null, - "id": 3277, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "4924:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4915:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3282, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3278, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4929:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3280, - "indexExpression": { - "argumentTypes": null, - "id": 3279, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4934:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4929:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4915:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3291, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4967:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3293, - "indexExpression": { - "argumentTypes": null, - "id": 3292, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4976:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4967:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3283, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4940:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3285, - "indexExpression": { - "argumentTypes": null, - "id": 3284, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "4949:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4940:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3289, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3286, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4954:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3288, - "indexExpression": { - "argumentTypes": null, - "id": 3287, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4959:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4954:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4940:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "4940:26:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4940:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4915:64:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3296, - "nodeType": "ExpressionStatement", - "src": "4915:64:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3249, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4763:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3250, - "name": "nTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3241, - "src": "4767:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4763:13:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3298, - "initializationExpression": { - "assignments": [ - 3246 - ], - "declarations": [ - { - "constant": false, - "id": 3246, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3298, - "src": "4748:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3248, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4760:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4748:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4778:3:18", - "subExpression": { - "argumentTypes": null, - "id": 3252, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4778:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3254, - "nodeType": "ExpressionStatement", - "src": "4778:3:18" - }, - "nodeType": "ForStatement", - "src": "4743:243:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3300, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "5029:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5029:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3302, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "5041:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3303, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "5048:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3304, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "5053:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3305, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "5059:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 3299, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "5015:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 3306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5015:53:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3307, - "nodeType": "EmitStatement", - "src": "5010:58:18" - } - ] - }, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type", - "id": 3309, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3229, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3220, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4435:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3219, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4435:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3222, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4450:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3221, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4450:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3225, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4463:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4463:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3224, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4463:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3228, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4486:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4486:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3227, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4486:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:78:18" - }, - "returnParameters": { - "id": 3230, - "nodeType": "ParameterList", - "parameters": [], - "src": "4528:0:18" - }, - "scope": 3502, - "src": "4403:670:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3355, - "nodeType": "Block", - "src": "5355:333:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3326, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3313, - "src": "5407:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 3697, - "src": "5407:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5407:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3354, - "nodeType": "IfStatement", - "src": "5403:281:18", - "trueBody": { - "id": 3353, - "nodeType": "Block", - "src": "5425:259:18", - "statements": [ - { - "assignments": [ - 3330 - ], - "declarations": [ - { - "constant": false, - "id": 3330, - "name": "retval", - "nodeType": "VariableDeclaration", - "scope": 3353, - "src": "5433:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3329, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5433:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3345, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3338, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "5514:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5514:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3340, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3311, - "src": "5526:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3341, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3316, - "src": "5533:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3342, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "5539:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3343, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3323, - "src": "5549:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 3336, - "name": "_gasLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3321, - "src": "5503:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3332, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3313, - "src": "5471:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3331, - "name": "IERC1155TokenReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "5449:21:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1155TokenReceiver_$2965_$", - "typeString": "type(contract IERC1155TokenReceiver)" - } - }, - "id": 3333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:26:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2965", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 3334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC1155BatchReceived", - "nodeType": "MemberAccess", - "referencedDeclaration": 2957, - "src": "5449:49:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" - } - }, - "id": 3335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "gas", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5449:53:18", - "typeDescriptions": { - "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas_$", - "typeString": "function (uint256) pure returns (function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4))" - } - }, - "id": 3337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:64:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" - } - }, - "id": 3344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:106:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5433:122:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3347, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3330, - "src": "5571:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3348, - "name": "ERC1155_BATCH_RECEIVED_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "5581:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5571:38:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745", - "id": 3350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5611:65:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d01e89a9585e3758ec71f0b758b0e5a5f1316bddeb547d3737010dd4a5578f32", - "typeString": "literal_string \"ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE\"" - }, - "value": "ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d01e89a9585e3758ec71f0b758b0e5a5f1316bddeb547d3737010dd4a5578f32", - "typeString": "literal_string \"ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE\"" - } - ], - "id": 3346, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5563:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5563:114:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3352, - "nodeType": "ExpressionStatement", - "src": "5563:114:18" - } - ] - } - } - ] - }, - "documentation": "@notice Verifies if receiver is contract and if so, calls (_to).onERC1155BatchReceived(...)", - "id": 3356, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callonERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3311, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5223:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5223:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3313, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5238:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3312, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5238:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3316, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5251:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5251:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3315, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5251:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3319, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5274:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3317, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5274:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3318, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5274:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3321, - "name": "_gasLimit", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5301:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5301:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3323, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5320:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3322, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5320:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5222:117:18" - }, - "returnParameters": { - "id": 3325, - "nodeType": "ParameterList", - "parameters": [], - "src": "5355:0:18" - }, - "scope": 3502, - "src": "5186:502:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3379, - "nodeType": "Block", - "src": "6162:144:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3363, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "6198:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 3367, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3364, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "6208:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6208:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6198:21:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3368, - "indexExpression": { - "argumentTypes": null, - "id": 3366, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3358, - "src": "6220:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6198:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3369, - "name": "_approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3360, - "src": "6233:9:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6198:44:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3371, - "nodeType": "ExpressionStatement", - "src": "6198:44:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3373, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "6268:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6268:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3375, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3358, - "src": "6280:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3376, - "name": "_approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3360, - "src": "6291:9:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3372, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2851, - "src": "6253:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 3377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6253:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3378, - "nodeType": "EmitStatement", - "src": "6248:53:18" - } - ] - }, - "documentation": "@notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n@param _operator Address to add to the set of authorized operators\n@param _approved True if the operator is approved, false to revoke approval", - "id": 3380, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3361, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3358, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 3380, - "src": "6112:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6112:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3360, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 3380, - "src": "6131:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3359, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6131:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6111:35:18" - }, - "returnParameters": { - "id": 3362, - "nodeType": "ParameterList", - "parameters": [], - "src": "6162:0:18" - }, - "scope": 3502, - "src": "6085:221:18", - "stateMutability": "nonpayable", - "superFunction": 2913, - "visibility": "external" - }, - { - "body": { - "id": 3395, - "nodeType": "Block", - "src": "6662:46:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3389, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "6675:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 3391, - "indexExpression": { - "argumentTypes": null, - "id": 3390, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3382, - "src": "6685:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6675:17:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3393, - "indexExpression": { - "argumentTypes": null, - "id": 3392, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3384, - "src": "6693:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6675:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3388, - "id": 3394, - "nodeType": "Return", - "src": "6668:35:18" - } - ] - }, - "documentation": "@notice Queries the approval status of an operator for a given owner\n@param _owner The owner of the Tokens\n@param _operator Address of authorized operator\n@return True if the operator is approved, false if not", - "id": 3396, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3382, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6583:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6583:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3384, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6599:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6599:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6582:35:18" - }, - "returnParameters": { - "id": 3388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3387, - "name": "isOperator", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6643:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3386, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6643:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6642:17:18" - }, - "scope": 3502, - "src": "6557:151:18", - "stateMutability": "view", - "superFunction": 2922, - "visibility": "public" - }, - { - "body": { - "id": 3411, - "nodeType": "Block", - "src": "7132:39:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3405, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "7145:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3407, - "indexExpression": { - "argumentTypes": null, - "id": 3406, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3398, - "src": "7154:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7145:16:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3409, - "indexExpression": { - "argumentTypes": null, - "id": 3408, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "7162:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7145:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3404, - "id": 3410, - "nodeType": "Return", - "src": "7138:28:18" - } - ] - }, - "documentation": "@notice Get the balance of an account's Tokens\n@param _owner The address of the token holder\n@param _id ID of the Token\n@return The _owner's balance of the Token type requested", - "id": 3412, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3401, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3398, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7067:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3397, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7067:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3400, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7083:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7083:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7066:29:18" - }, - "returnParameters": { - "id": 3404, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3403, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7121:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7121:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7120:9:18" - }, - "scope": 3502, - "src": "7048:123:18", - "stateMutability": "view", - "superFunction": 2894, - "visibility": "public" - }, - { - "body": { - "id": 3473, - "nodeType": "Block", - "src": "7569:368:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3425, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7583:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7583:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3427, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3418, - "src": "7601:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7601:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7583:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e475448", - "id": 3430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7614:46:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a4238933bea90e19d8a4b6d3db87260a7b7b62f1d27625f892fb051d61a85b44", - "typeString": "literal_string \"ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH\"" - }, - "value": "ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a4238933bea90e19d8a4b6d3db87260a7b7b62f1d27625f892fb051d61a85b44", - "typeString": "literal_string \"ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH\"" - } - ], - "id": 3424, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7575:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7575:86:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3432, - "nodeType": "ExpressionStatement", - "src": "7575:86:18" - }, - { - "assignments": [ - 3436 - ], - "declarations": [ - { - "constant": false, - "id": 3436, - "name": "batchBalances", - "nodeType": "VariableDeclaration", - "scope": 3473, - "src": "7685:30:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7685:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3435, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7685:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3443, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3440, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7732:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7732:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "7718:13:18", - "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": 3437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7722:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3438, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7722:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7718:29:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7685:62:18" - }, - { - "body": { - "id": 3469, - "nodeType": "Block", - "src": "7843:63:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3455, - "name": "batchBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "7851:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3457, - "indexExpression": { - "argumentTypes": null, - "id": 3456, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7865:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7851:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3458, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "7870:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3462, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3459, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7879:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3461, - "indexExpression": { - "argumentTypes": null, - "id": 3460, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7887:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7879:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7870:20:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3466, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3463, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3418, - "src": "7891:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3465, - "indexExpression": { - "argumentTypes": null, - "id": 3464, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7896:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7891:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7870:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7851:48:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3468, - "nodeType": "ExpressionStatement", - "src": "7851:48:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3448, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7818:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3449, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7822:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7822:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7818:18:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3470, - "initializationExpression": { - "assignments": [ - 3445 - ], - "declarations": [ - { - "constant": false, - "id": 3445, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3470, - "src": "7803:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7803:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3447, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7815:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7803:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7838:3:18", - "subExpression": { - "argumentTypes": null, - "id": 3452, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7838:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3454, - "nodeType": "ExpressionStatement", - "src": "7838:3:18" - }, - "nodeType": "ForStatement", - "src": "7798:108:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3471, - "name": "batchBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "7919:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 3423, - "id": 3472, - "nodeType": "Return", - "src": "7912:20:18" - } - ] - }, - "documentation": "@notice Get the balance of multiple account/token pairs\n@param _owners The addresses of the token holders\n@param _ids ID of the Tokens\n@return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)", - "id": 3474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOfBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3415, - "name": "_owners", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7475:24:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7475:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3414, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7475:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3418, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7501:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7501:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3417, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7501:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7474:49:18" - }, - "returnParameters": { - "id": 3423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3422, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7549:16:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7549:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3421, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7549:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7548:18:18" - }, - "scope": 3502, - "src": "7451:486:18", - "stateMutability": "view", - "superFunction": 2906, - "visibility": "public" - }, - { - "constant": true, - "id": 3477, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "8157:63:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3475, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8157:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 3476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8210:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3480, - "name": "INTERFACE_SIGNATURE_ERC1155", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "8689:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3478, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8689:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786439623637613236", - "id": 3479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8743:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3652614694_by_1", - "typeString": "int_const 3652614694" - }, - "value": "0xd9b67a26" - }, - "visibility": "private" - }, - { - "body": { - "id": 3500, - "nodeType": "Block", - "src": "9046:157:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3487, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3482, - "src": "9056:12:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3488, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3477, - "src": "9072:26:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9056:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3490, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3482, - "src": "9110:12:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3491, - "name": "INTERFACE_SIGNATURE_ERC1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3480, - "src": "9126:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9110:43:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9056:97:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3497, - "nodeType": "IfStatement", - "src": "9052:129:18", - "trueBody": { - "id": 3496, - "nodeType": "Block", - "src": "9155:26:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3494, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9170:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3486, - "id": 3495, - "nodeType": "Return", - "src": "9163:11:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9193:5:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 3486, - "id": 3499, - "nodeType": "Return", - "src": "9186:12:18" - } - ] - }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 3501, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3482, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 3501, - "src": "8996:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3481, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8996:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8995:21:18" - }, - "returnParameters": { - "id": 3486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3485, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3501, - "src": "9040:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3484, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9040:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9039:6:18" - }, - "scope": 3502, - "src": "8969:234:18", - "stateMutability": "view", - "superFunction": 2974, - "visibility": "external" - } - ], - "scope": 3503, - "src": "293:8912:18" - } - ], - "src": "0:9206:18" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.629Z", - "devdoc": { - "details": "Implementation of Multi-Token Standard contract", - "methods": { - "balanceOf(address,uint256)": { - "params": { - "_id": "ID of the Token", - "_owner": "The address of the token holder" - }, - "return": "The _owner's balance of the Token type requested" - }, - "balanceOfBatch(address[],uint256[])": { - "params": { - "_ids": "ID of the Tokens", - "_owners": "The addresses of the token holders" - }, - "return": "The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)" - }, - "isApprovedForAll(address,address)": { - "params": { - "_operator": "Address of authorized operator", - "_owner": "The owner of the Tokens" - }, - "return": "True if the operator is approved, false if not" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "params": { - "_amounts": "Transfer amounts per token type", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source addresses", - "_ids": "IDs of each token type", - "_to": "Target addresses" - } - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "params": { - "_amount": "Transfered amount", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source address", - "_id": "ID of the token type", - "_to": "Target address" - } - }, - "setApprovalForAll(address,bool)": { - "params": { - "_approved": "True if the operator is approved, false to revoke approval", - "_operator": "Address to add to the set of authorized operators" - } - }, - "supportsInterface(bytes4)": { - "params": { - "_interfaceID": "The interface identifier, as specified in ERC-165" - }, - "return": "`true` if the contract implements `_interfaceID` and" - } - } - }, - "userdoc": { - "methods": { - "balanceOf(address,uint256)": { - "notice": "Get the balance of an account's Tokens" - }, - "balanceOfBatch(address[],uint256[])": { - "notice": "Get the balance of multiple account/token pairs" - }, - "isApprovedForAll(address,address)": { - "notice": "Queries the approval status of an operator for a given owner" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "notice": "Send multiple types of Tokens from the _from address to the _to address (with safety call)" - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "notice": "Transfers amount amount of an _id from the _from address to the _to address specified" - }, - "setApprovalForAll(address,bool)": { - "notice": "Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens" - }, - "supportsInterface(bytes4)": { - "notice": "Query if a contract implements an interface" - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC1155Metadata.json b/packages/proxyIdentity/build/contracts/ERC1155Metadata.json deleted file mode 100644 index e33b2e7c..00000000 --- a/packages/proxyIdentity/build/contracts/ERC1155Metadata.json +++ /dev/null @@ -1,4524 +0,0 @@ -{ - "contractName": "ERC1155Metadata", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_uri", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Methods assume a deterministic generation of URI based on token IDs. Methods also assume that URI uses hex representation of token IDs.\",\"methods\":{\"uri(uint256)\":{\"details\":\"URIs are defined in RFC 3986. URIs are assumed to be deterministically generated based on token ID Token IDs are assumed to be represented in their hex format in URIs\",\"return\":\"URI string\"}}},\"userdoc\":{\"methods\":{\"uri(uint256)\":{\"notice\":\"A distinct Uniform Resource Identifier (URI) for a given token.\"}},\"notice\":\"Contract that handles metadata related methods.\"}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":\"ERC1155Metadata\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":{\"keccak256\":\"0x4ef6482f64e22ea36be61c3eba61f85bed1fa75f83dcda5c4850697b5ed2c4d4\",\"urls\":[\"bzz-raw://e7550ccafd3c9e121a9d9a86e6246db33cf6a1917bf89fdd3dc35c3e539489b4\",\"dweb:/ipfs/QmQKsdE526BUTA4Xjo8FeTwmYQMWeXEUqHs392hLKeFZGn\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061033f806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630e89341c14610030575b600080fd5b61005c6004803603602081101561004657600080fd5b81019080803590602001909291905050506100d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561009c578082015181840152602081019050610081565b50505050905090810190601f1680156100c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060006100e4836101d7565b60405160200180838054600181600116156101000203166002900480156101425780601f10610120576101008083540402835291820191610142565b820191906000526020600020905b81548152906001019060200180831161012e575b505082805190602001908083835b602083106101735780518252602082019150602081019050602083039250610150565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600501925050506040516020818303038152906040529050919050565b6060600082141561021f576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050610305565b6000829050600083905060005b6000831461024e578080600101915050600a838161024657fe5b04925061022c565b6060816040519080825280601f01601f1916602001820160405280156102835781602001600182028038833980820191505090505b50905060006001830390505b600084146102fc57600a84816102a157fe5b0660300160f81b828280600190039350815181106102bb57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816102f457fe5b04935061028f565b81955050505050505b91905056fea265627a7a72315820ccd1d342e51bfff3ac814fba0b1d7e57596fff14757e5453ca7c25c9e4400e8764736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80630e89341c14610030575b600080fd5b61005c6004803603602081101561004657600080fd5b81019080803590602001909291905050506100d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561009c578082015181840152602081019050610081565b50505050905090810190601f1680156100c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060006100e4836101d7565b60405160200180838054600181600116156101000203166002900480156101425780601f10610120576101008083540402835291820191610142565b820191906000526020600020905b81548152906001019060200180831161012e575b505082805190602001908083835b602083106101735780518252602082019150602081019050602083039250610150565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600501925050506040516020818303038152906040529050919050565b6060600082141561021f576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050610305565b6000829050600083905060005b6000831461024e578080600101915050600a838161024657fe5b04925061022c565b6060816040519080825280601f01601f1916602001820160405280156102835781602001600182028038833980820191505090505b50905060006001830390505b600084146102fc57600a84816102a157fe5b0660300160f81b828280600190039350815181106102bb57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816102f457fe5b04935061028f565b81955050505050505b91905056fea265627a7a72315820ccd1d342e51bfff3ac814fba0b1d7e57596fff14757e5453ca7c25c9e4400e8764736f6c63430005110032", - "sourceMap": "286:2308:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;286:2308:19;;;;;;;", - "deployedSourceMap": "286:2308:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;286:2308:19;;;;;;;;;;;;;;;;;;;859:146;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;859:146:19;;;;;;;;;;;;;;;;;:::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;859:146:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;906:13;958:15;975:14;985:3;975:9;:14::i;:::-;941:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;941:58:19;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;941:58:19;;;927:73;;859:146;;;:::o;2079:513::-;2133:27;2178:1;2172:2;:7;2168:38;;;2189:10;;;;;;;;;;;;;;;;;;;;;2168:38;2212:9;2224:2;2212:14;;2232:10;2245:2;2232:15;;2253:11;2298:50;2310:1;2305;:6;2298:50;;2321:5;;;;;;;2339:2;2334:7;;;;;;;;;2298:50;;;2354:17;2384:3;2374:14;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;2374:14:19;;;;2354:34;;2394:9;2412:1;2406:3;:7;2394:19;;2453:84;2466:1;2460:2;:7;2453:84;;2510:2;2505;:7;;;;;;2500:2;:12;2489:25;;2477:4;2482:3;;;;;;;2477:9;;;;;;;;;;;:37;;;;;;;;;;;2528:2;2522:8;;;;;;;;;2453:84;;;2582:4;2568:19;;;;;;;2079:513;;;;:::o", - "source": "pragma solidity ^0.5.16;\nimport \"../../interfaces/IERC1155.sol\";\n\n\n/**\n * @notice Contract that handles metadata related methods.\n * @dev Methods assume a deterministic generation of URI based on token IDs.\n * Methods also assume that URI uses hex representation of token IDs.\n */\ncontract ERC1155Metadata {\n // URI's default URI prefix\n string internal baseMetadataURI;\n event URI(string _uri, uint256 indexed _id);\n\n /***********************************|\n | Metadata Public Function s |\n |__________________________________*/\n\n /**\n * @notice A distinct Uniform Resource Identifier (URI) for a given token.\n * @dev URIs are defined in RFC 3986.\n * URIs are assumed to be deterministically generated based on token ID\n * Token IDs are assumed to be represented in their hex format in URIs\n * @return URI string\n */\n function uri(uint256 _id) public view returns (string memory) {\n return string(abi.encodePacked(baseMetadataURI, _uint2str(_id), \".json\"));\n }\n\n\n /***********************************|\n | Metadata Internal Functions |\n |__________________________________*/\n\n /**\n * @notice Will emit default URI log event for corresponding token _id\n * @param _tokenIDs Array of IDs of tokens to log default URI\n */\n function _logURIs(uint256[] memory _tokenIDs) internal {\n string memory baseURL = baseMetadataURI;\n string memory tokenURI;\n\n for (uint256 i = 0; i < _tokenIDs.length; i++) {\n tokenURI = string(abi.encodePacked(baseURL, _uint2str(_tokenIDs[i]), \".json\"));\n emit URI(tokenURI, _tokenIDs[i]);\n }\n }\n\n /**\n * @notice Will update the base URL of token's URI\n * @param _newBaseMetadataURI New base URL of token's URI\n */\n function _setBaseMetadataURI(string memory _newBaseMetadataURI) internal {\n baseMetadataURI = _newBaseMetadataURI;\n }\n\n\n /***********************************|\n | Utility Internal Functions |\n |__________________________________*/\n\n /**\n * @notice Convert uint256 to string\n * @param _i Unsigned integer to convert to string\n */\n function _uint2str(uint256 _i) internal pure returns (string memory _uintAsString) {\n if (_i == 0) {\n return \"0\";\n }\n\n uint256 j = _i;\n uint256 ii = _i;\n uint256 len;\n\n // Get number of bytes\n while (j != 0) {\n len++;\n j /= 10;\n }\n\n bytes memory bstr = new bytes(len);\n uint256 k = len - 1;\n\n // Get each individual ASCII\n while (ii != 0) {\n bstr[k--] = byte(uint8(48 + ii % 10));\n ii /= 10;\n }\n\n // Convert to string\n return string(bstr);\n }\n}", - "sourcePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "exportedSymbols": { - "ERC1155Metadata": [ - 3671 - ] - }, - "id": 3672, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3504, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:19" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "../../interfaces/IERC1155.sol", - "id": 3505, - "nodeType": "ImportDirective", - "scope": 3672, - "sourceUnit": 2924, - "src": "25:39:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@notice Contract that handles metadata related methods.\n@dev Methods assume a deterministic generation of URI based on token IDs.\n Methods also assume that URI uses hex representation of token IDs.", - "fullyImplemented": true, - "id": 3671, - "linearizedBaseContracts": [ - 3671 - ], - "name": "ERC1155Metadata", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3507, - "name": "baseMetadataURI", - "nodeType": "VariableDeclaration", - "scope": 3671, - "src": "345:31:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3506, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "345:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 3513, - "name": "URI", - "nodeType": "EventDefinition", - "parameters": { - "id": 3512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3509, - "indexed": false, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "390:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3508, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "390:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3511, - "indexed": true, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "403:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "403:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "389:34:19" - }, - "src": "380:44:19" - }, - { - "body": { - "id": 3531, - "nodeType": "Block", - "src": "921:84:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3523, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "958:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3525, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3515, - "src": "985:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3524, - "name": "_uint2str", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3670, - "src": "975:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "975:14:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "hexValue": "2e6a736f6e", - "id": 3527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "991:7:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - }, - "value": ".json" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3521, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "941:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "941:16:19", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "941:58:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "934:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "934:66:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 3519, - "id": 3530, - "nodeType": "Return", - "src": "927:73:19" - } - ] - }, - "documentation": "@notice A distinct Uniform Resource Identifier (URI) for a given token.\n@dev URIs are defined in RFC 3986.\n URIs are assumed to be deterministically generated based on token ID\n Token IDs are assumed to be represented in their hex format in URIs\n@return URI string", - "id": 3532, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3515, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3532, - "src": "872:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "872:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "871:13:19" - }, - "returnParameters": { - "id": 3519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3518, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3532, - "src": "906:13:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3517, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "906:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "905:15:19" - }, - "scope": 3671, - "src": "859:146:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3580, - "nodeType": "Block", - "src": "1335:264:19", - "statements": [ - { - "assignments": [ - 3539 - ], - "declarations": [ - { - "constant": false, - "id": 3539, - "name": "baseURL", - "nodeType": "VariableDeclaration", - "scope": 3580, - "src": "1341:21:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3538, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1341:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3541, - "initialValue": { - "argumentTypes": null, - "id": 3540, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "1365:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1341:39:19" - }, - { - "assignments": [ - 3543 - ], - "declarations": [ - { - "constant": false, - "id": 3543, - "name": "tokenURI", - "nodeType": "VariableDeclaration", - "scope": 3580, - "src": "1386:22:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3542, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1386:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3544, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1386:22:19" - }, - { - "body": { - "id": 3578, - "nodeType": "Block", - "src": "1462:133:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3556, - "name": "tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1470:8:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3560, - "name": "baseURL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3539, - "src": "1505:7:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3562, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1524:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3564, - "indexExpression": { - "argumentTypes": null, - "id": 3563, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1534:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1524:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3561, - "name": "_uint2str", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3670, - "src": "1514:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 3565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1514:23:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "hexValue": "2e6a736f6e", - "id": 3566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1539:7:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - }, - "value": ".json" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3558, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "1488:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1488:16:19", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1488:59:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1481:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1481:67:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1470:78:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 3570, - "nodeType": "ExpressionStatement", - "src": "1470:78:19" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3572, - "name": "tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1565:8:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3573, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1575:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3575, - "indexExpression": { - "argumentTypes": null, - "id": 3574, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1585:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1575:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3571, - "name": "URI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3513, - "src": "1561:3:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 3576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1561:27:19", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3577, - "nodeType": "EmitStatement", - "src": "1556:32:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3549, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1435:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3550, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1439:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1439:16:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1435:20:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3579, - "initializationExpression": { - "assignments": [ - 3546 - ], - "declarations": [ - { - "constant": false, - "id": 3546, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3579, - "src": "1420:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1420:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3548, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1432:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1420:13:19" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1457:3:19", - "subExpression": { - "argumentTypes": null, - "id": 3553, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1457:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3555, - "nodeType": "ExpressionStatement", - "src": "1457:3:19" - }, - "nodeType": "ForStatement", - "src": "1415:180:19" - } - ] - }, - "documentation": "@notice Will emit default URI log event for corresponding token _id\n@param _tokenIDs Array of IDs of tokens to log default URI", - "id": 3581, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_logURIs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3536, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3535, - "name": "_tokenIDs", - "nodeType": "VariableDeclaration", - "scope": 3581, - "src": "1298:26:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1298:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3534, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1298:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1297:28:19" - }, - "returnParameters": { - "id": 3537, - "nodeType": "ParameterList", - "parameters": [], - "src": "1335:0:19" - }, - "scope": 3671, - "src": "1280:319:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3590, - "nodeType": "Block", - "src": "1801:48:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3586, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "1807:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3587, - "name": "_newBaseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3583, - "src": "1825:19:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1807:37:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3589, - "nodeType": "ExpressionStatement", - "src": "1807:37:19" - } - ] - }, - "documentation": "@notice Will update the base URL of token's URI\n@param _newBaseMetadataURI New base URL of token's URI", - "id": 3591, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBaseMetadataURI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3583, - "name": "_newBaseMetadataURI", - "nodeType": "VariableDeclaration", - "scope": 3591, - "src": "1757:33:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3582, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1757:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1756:35:19" - }, - "returnParameters": { - "id": 3585, - "nodeType": "ParameterList", - "parameters": [], - "src": "1801:0:19" - }, - "scope": 3671, - "src": "1728:121:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3669, - "nodeType": "Block", - "src": "2162:430:19", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3598, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2172:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2178:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2172:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3604, - "nodeType": "IfStatement", - "src": "2168:38:19", - "trueBody": { - "id": 3603, - "nodeType": "Block", - "src": "2181:25:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2196:3:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "functionReturnParameters": 3597, - "id": 3602, - "nodeType": "Return", - "src": "2189:10:19" - } - ] - } - }, - { - "assignments": [ - 3606 - ], - "declarations": [ - { - "constant": false, - "id": 3606, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2212:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2212:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3608, - "initialValue": { - "argumentTypes": null, - "id": 3607, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2224:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2212:14:19" - }, - { - "assignments": [ - 3610 - ], - "declarations": [ - { - "constant": false, - "id": 3610, - "name": "ii", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2232:10:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2232:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3612, - "initialValue": { - "argumentTypes": null, - "id": 3611, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2245:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2232:15:19" - }, - { - "assignments": [ - 3614 - ], - "declarations": [ - { - "constant": false, - "id": 3614, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2253:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2253:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3615, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2253:11:19" - }, - { - "body": { - "id": 3626, - "nodeType": "Block", - "src": "2313:35:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2321:5:19", - "subExpression": { - "argumentTypes": null, - "id": 3619, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2321:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3621, - "nodeType": "ExpressionStatement", - "src": "2321:5:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3622, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3606, - "src": "2334:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2339:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2334:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3625, - "nodeType": "ExpressionStatement", - "src": "2334:7:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3616, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3606, - "src": "2305:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2310:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2305:6:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3627, - "nodeType": "WhileStatement", - "src": "2298:50:19" - }, - { - "assignments": [ - 3629 - ], - "declarations": [ - { - "constant": false, - "id": 3629, - "name": "bstr", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2354:17:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3628, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2354:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3634, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3632, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2384:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2374:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 3630, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2378:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 3633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2374:14:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2354:34:19" - }, - { - "assignments": [ - 3636 - ], - "declarations": [ - { - "constant": false, - "id": 3636, - "name": "k", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2394:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2394:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3640, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3637, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2406:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2412:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2406:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2394:19:19" - }, - { - "body": { - "id": 3663, - "nodeType": "Block", - "src": "2469:68:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3644, - "name": "bstr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3629, - "src": "2477:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3647, - "indexExpression": { - "argumentTypes": null, - "id": 3646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "2482:3:19", - "subExpression": { - "argumentTypes": null, - "id": 3645, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3636, - "src": "2482:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2477:9:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 3650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2500:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3651, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2505:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2510:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2505:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2500:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2494:5:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 3655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2494:19:19", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 3648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2489:4:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": "byte" - }, - "id": 3656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2489:25:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "2477:37:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 3658, - "nodeType": "ExpressionStatement", - "src": "2477:37:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3659, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2522:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2528:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2522:8:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3662, - "nodeType": "ExpressionStatement", - "src": "2522:8:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3641, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2460:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2466:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2460:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3664, - "nodeType": "WhileStatement", - "src": "2453:84:19" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3666, - "name": "bstr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3629, - "src": "2582:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2575:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2575:12:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 3597, - "id": 3668, - "nodeType": "Return", - "src": "2568:19:19" - } - ] - }, - "documentation": "@notice Convert uint256 to string\n@param _i Unsigned integer to convert to string", - "id": 3670, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_uint2str", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3593, - "name": "_i", - "nodeType": "VariableDeclaration", - "scope": 3670, - "src": "2098:10:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3592, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2098:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2097:12:19" - }, - "returnParameters": { - "id": 3597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3596, - "name": "_uintAsString", - "nodeType": "VariableDeclaration", - "scope": 3670, - "src": "2133:27:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3595, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2133:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2132:29:19" - }, - "scope": 3671, - "src": "2079:513:19", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3672, - "src": "286:2308:19" - } - ], - "src": "0:2594:19" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "exportedSymbols": { - "ERC1155Metadata": [ - 3671 - ] - }, - "id": 3672, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3504, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:19" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "../../interfaces/IERC1155.sol", - "id": 3505, - "nodeType": "ImportDirective", - "scope": 3672, - "sourceUnit": 2924, - "src": "25:39:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@notice Contract that handles metadata related methods.\n@dev Methods assume a deterministic generation of URI based on token IDs.\n Methods also assume that URI uses hex representation of token IDs.", - "fullyImplemented": true, - "id": 3671, - "linearizedBaseContracts": [ - 3671 - ], - "name": "ERC1155Metadata", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3507, - "name": "baseMetadataURI", - "nodeType": "VariableDeclaration", - "scope": 3671, - "src": "345:31:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3506, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "345:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 3513, - "name": "URI", - "nodeType": "EventDefinition", - "parameters": { - "id": 3512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3509, - "indexed": false, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "390:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3508, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "390:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3511, - "indexed": true, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "403:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "403:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "389:34:19" - }, - "src": "380:44:19" - }, - { - "body": { - "id": 3531, - "nodeType": "Block", - "src": "921:84:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3523, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "958:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3525, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3515, - "src": "985:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3524, - "name": "_uint2str", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3670, - "src": "975:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "975:14:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "hexValue": "2e6a736f6e", - "id": 3527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "991:7:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - }, - "value": ".json" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3521, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "941:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "941:16:19", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "941:58:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "934:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "934:66:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 3519, - "id": 3530, - "nodeType": "Return", - "src": "927:73:19" - } - ] - }, - "documentation": "@notice A distinct Uniform Resource Identifier (URI) for a given token.\n@dev URIs are defined in RFC 3986.\n URIs are assumed to be deterministically generated based on token ID\n Token IDs are assumed to be represented in their hex format in URIs\n@return URI string", - "id": 3532, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3515, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3532, - "src": "872:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "872:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "871:13:19" - }, - "returnParameters": { - "id": 3519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3518, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3532, - "src": "906:13:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3517, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "906:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "905:15:19" - }, - "scope": 3671, - "src": "859:146:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3580, - "nodeType": "Block", - "src": "1335:264:19", - "statements": [ - { - "assignments": [ - 3539 - ], - "declarations": [ - { - "constant": false, - "id": 3539, - "name": "baseURL", - "nodeType": "VariableDeclaration", - "scope": 3580, - "src": "1341:21:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3538, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1341:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3541, - "initialValue": { - "argumentTypes": null, - "id": 3540, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "1365:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1341:39:19" - }, - { - "assignments": [ - 3543 - ], - "declarations": [ - { - "constant": false, - "id": 3543, - "name": "tokenURI", - "nodeType": "VariableDeclaration", - "scope": 3580, - "src": "1386:22:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3542, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1386:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3544, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1386:22:19" - }, - { - "body": { - "id": 3578, - "nodeType": "Block", - "src": "1462:133:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3556, - "name": "tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1470:8:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3560, - "name": "baseURL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3539, - "src": "1505:7:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3562, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1524:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3564, - "indexExpression": { - "argumentTypes": null, - "id": 3563, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1534:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1524:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3561, - "name": "_uint2str", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3670, - "src": "1514:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 3565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1514:23:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "hexValue": "2e6a736f6e", - "id": 3566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1539:7:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - }, - "value": ".json" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3558, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "1488:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1488:16:19", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1488:59:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1481:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1481:67:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1470:78:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 3570, - "nodeType": "ExpressionStatement", - "src": "1470:78:19" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3572, - "name": "tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1565:8:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3573, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1575:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3575, - "indexExpression": { - "argumentTypes": null, - "id": 3574, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1585:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1575:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3571, - "name": "URI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3513, - "src": "1561:3:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 3576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1561:27:19", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3577, - "nodeType": "EmitStatement", - "src": "1556:32:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3549, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1435:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3550, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1439:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1439:16:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1435:20:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3579, - "initializationExpression": { - "assignments": [ - 3546 - ], - "declarations": [ - { - "constant": false, - "id": 3546, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3579, - "src": "1420:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1420:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3548, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1432:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1420:13:19" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1457:3:19", - "subExpression": { - "argumentTypes": null, - "id": 3553, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1457:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3555, - "nodeType": "ExpressionStatement", - "src": "1457:3:19" - }, - "nodeType": "ForStatement", - "src": "1415:180:19" - } - ] - }, - "documentation": "@notice Will emit default URI log event for corresponding token _id\n@param _tokenIDs Array of IDs of tokens to log default URI", - "id": 3581, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_logURIs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3536, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3535, - "name": "_tokenIDs", - "nodeType": "VariableDeclaration", - "scope": 3581, - "src": "1298:26:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1298:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3534, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1298:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1297:28:19" - }, - "returnParameters": { - "id": 3537, - "nodeType": "ParameterList", - "parameters": [], - "src": "1335:0:19" - }, - "scope": 3671, - "src": "1280:319:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3590, - "nodeType": "Block", - "src": "1801:48:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3586, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "1807:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3587, - "name": "_newBaseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3583, - "src": "1825:19:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1807:37:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3589, - "nodeType": "ExpressionStatement", - "src": "1807:37:19" - } - ] - }, - "documentation": "@notice Will update the base URL of token's URI\n@param _newBaseMetadataURI New base URL of token's URI", - "id": 3591, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBaseMetadataURI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3583, - "name": "_newBaseMetadataURI", - "nodeType": "VariableDeclaration", - "scope": 3591, - "src": "1757:33:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3582, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1757:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1756:35:19" - }, - "returnParameters": { - "id": 3585, - "nodeType": "ParameterList", - "parameters": [], - "src": "1801:0:19" - }, - "scope": 3671, - "src": "1728:121:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3669, - "nodeType": "Block", - "src": "2162:430:19", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3598, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2172:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2178:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2172:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3604, - "nodeType": "IfStatement", - "src": "2168:38:19", - "trueBody": { - "id": 3603, - "nodeType": "Block", - "src": "2181:25:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2196:3:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "functionReturnParameters": 3597, - "id": 3602, - "nodeType": "Return", - "src": "2189:10:19" - } - ] - } - }, - { - "assignments": [ - 3606 - ], - "declarations": [ - { - "constant": false, - "id": 3606, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2212:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2212:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3608, - "initialValue": { - "argumentTypes": null, - "id": 3607, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2224:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2212:14:19" - }, - { - "assignments": [ - 3610 - ], - "declarations": [ - { - "constant": false, - "id": 3610, - "name": "ii", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2232:10:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2232:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3612, - "initialValue": { - "argumentTypes": null, - "id": 3611, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2245:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2232:15:19" - }, - { - "assignments": [ - 3614 - ], - "declarations": [ - { - "constant": false, - "id": 3614, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2253:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2253:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3615, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2253:11:19" - }, - { - "body": { - "id": 3626, - "nodeType": "Block", - "src": "2313:35:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2321:5:19", - "subExpression": { - "argumentTypes": null, - "id": 3619, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2321:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3621, - "nodeType": "ExpressionStatement", - "src": "2321:5:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3622, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3606, - "src": "2334:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2339:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2334:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3625, - "nodeType": "ExpressionStatement", - "src": "2334:7:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3616, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3606, - "src": "2305:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2310:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2305:6:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3627, - "nodeType": "WhileStatement", - "src": "2298:50:19" - }, - { - "assignments": [ - 3629 - ], - "declarations": [ - { - "constant": false, - "id": 3629, - "name": "bstr", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2354:17:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3628, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2354:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3634, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3632, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2384:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2374:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 3630, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2378:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 3633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2374:14:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2354:34:19" - }, - { - "assignments": [ - 3636 - ], - "declarations": [ - { - "constant": false, - "id": 3636, - "name": "k", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2394:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2394:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3640, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3637, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2406:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2412:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2406:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2394:19:19" - }, - { - "body": { - "id": 3663, - "nodeType": "Block", - "src": "2469:68:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3644, - "name": "bstr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3629, - "src": "2477:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3647, - "indexExpression": { - "argumentTypes": null, - "id": 3646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "2482:3:19", - "subExpression": { - "argumentTypes": null, - "id": 3645, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3636, - "src": "2482:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2477:9:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 3650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2500:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3651, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2505:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2510:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2505:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2500:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2494:5:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 3655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2494:19:19", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 3648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2489:4:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": "byte" - }, - "id": 3656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2489:25:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "2477:37:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 3658, - "nodeType": "ExpressionStatement", - "src": "2477:37:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3659, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2522:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2528:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2522:8:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3662, - "nodeType": "ExpressionStatement", - "src": "2522:8:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3641, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2460:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2466:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2460:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3664, - "nodeType": "WhileStatement", - "src": "2453:84:19" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3666, - "name": "bstr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3629, - "src": "2582:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2575:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2575:12:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 3597, - "id": 3668, - "nodeType": "Return", - "src": "2568:19:19" - } - ] - }, - "documentation": "@notice Convert uint256 to string\n@param _i Unsigned integer to convert to string", - "id": 3670, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_uint2str", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3593, - "name": "_i", - "nodeType": "VariableDeclaration", - "scope": 3670, - "src": "2098:10:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3592, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2098:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2097:12:19" - }, - "returnParameters": { - "id": 3597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3596, - "name": "_uintAsString", - "nodeType": "VariableDeclaration", - "scope": 3670, - "src": "2133:27:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3595, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2133:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2132:29:19" - }, - "scope": 3671, - "src": "2079:513:19", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3672, - "src": "286:2308:19" - } - ], - "src": "0:2594:19" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.635Z", - "devdoc": { - "details": "Methods assume a deterministic generation of URI based on token IDs. Methods also assume that URI uses hex representation of token IDs.", - "methods": { - "uri(uint256)": { - "details": "URIs are defined in RFC 3986. URIs are assumed to be deterministically generated based on token ID Token IDs are assumed to be represented in their hex format in URIs", - "return": "URI string" - } - } - }, - "userdoc": { - "methods": { - "uri(uint256)": { - "notice": "A distinct Uniform Resource Identifier (URI) for a given token." - } - }, - "notice": "Contract that handles metadata related methods." - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC1155MintBurn.json b/packages/proxyIdentity/build/contracts/ERC1155MintBurn.json deleted file mode 100644 index d5750864..00000000 --- a/packages/proxyIdentity/build/contracts/ERC1155MintBurn.json +++ /dev/null @@ -1,7356 +0,0 @@ -{ - "contractName": "ERC1155MintBurn", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_amount", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address[]", - "name": "_owners", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "isOperator", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "batchMint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "batchBurn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_amount\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"batchBurn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"batchMint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"params\":{\"_id\":\"ID of the Token\",\"_owner\":\"The address of the token holder\"},\"return\":\"The _owner's balance of the Token type requested\"},\"balanceOfBatch(address[],uint256[])\":{\"params\":{\"_ids\":\"ID of the Tokens\",\"_owners\":\"The addresses of the token holders\"},\"return\":\"The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\"},\"isApprovedForAll(address,address)\":{\"params\":{\"_operator\":\"Address of authorized operator\",\"_owner\":\"The owner of the Tokens\"},\"return\":\"True if the operator is approved, false if not\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"params\":{\"_amounts\":\"Transfer amounts per token type\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source addresses\",\"_ids\":\"IDs of each token type\",\"_to\":\"Target addresses\"}},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"params\":{\"_amount\":\"Transfered amount\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source address\",\"_id\":\"ID of the token type\",\"_to\":\"Target address\"}},\"setApprovalForAll(address,bool)\":{\"params\":{\"_approved\":\"True if the operator is approved, false to revoke approval\",\"_operator\":\"Address to add to the set of authorized operators\"}},\"supportsInterface(bytes4)\":{\"params\":{\"_interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"return\":\"`true` if the contract implements `_interfaceID` and\"}}},\"userdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"notice\":\"Get the balance of an account's Tokens\"},\"balanceOfBatch(address[],uint256[])\":{\"notice\":\"Get the balance of multiple account/token pairs\"},\"isApprovedForAll(address,address)\":{\"notice\":\"Queries the approval status of an operator for a given owner\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Send multiple types of Tokens from the _from address to the _to address (with safety call)\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"notice\":\"Transfers amount amount of an _id from the _from address to the _to address specified\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of caller's tokens\"},\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol\":\"ERC1155MintBurn\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol\":{\"keccak256\":\"0xd595777667e60b66892ae8166ee4940d46f85a36a78a48db015fffa8dedeb160\",\"urls\":[\"bzz-raw://55ceac3dafae91b00f60c16dd9d8f4a988227f4dc0795ef1256dbe53e2d9cd16\",\"dweb:/ipfs/QmUqn2hhLHNpbZBHkfC6qCR7mgmUuxNSbKhhKZH58E8rbP\"]},\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061277e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a85760003560e01c8063a22cb46511610071578063a22cb46514610627578063b48ab8b614610677578063e985e9c51461087a578063f242432a146108f6578063f5298aca14610a05578063f6eb127a14610a5d576100a8565b8062fdd58e146100ad57806301ffc9a71461010f5780632eb2c2d6146101745780634e1273f414610397578063731133e914610538575b600080fd5b6100f9600480360360408110156100c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc9565b6040518082815260200191505060405180910390f35b61015a6004803603602081101561012557600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610c23565b604051808215151515815260200191505060405180910390f35b610395600480360360a081101561018a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101e757600080fd5b8201836020820111156101f957600080fd5b8035906020019184602083028401116401000000008311171561021b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561027b57600080fd5b82018360208201111561028d57600080fd5b803590602001918460208302840111640100000000831117156102af57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561030f57600080fd5b82018360208201111561032157600080fd5b8035906020019184600183028401116401000000008311171561034357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610cd4565b005b6104e1600480360360408110156103ad57600080fd5b81019080803590602001906401000000008111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460208302840111640100000000831117156103fe57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561045e57600080fd5b82018360208201111561047057600080fd5b8035906020019184602083028401116401000000008311171561049257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610e10565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610524578082015181840152602081019050610509565b505050509050019250505060405180910390f35b6106256004803603608081101561054e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561059f57600080fd5b8201836020820111156105b157600080fd5b803590602001918460018302840111640100000000831117156105d357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610f56565b005b6106756004803603604081101561063d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506110a5565b005b6108786004803603608081101561068d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156106ca57600080fd5b8201836020820111156106dc57600080fd5b803590602001918460208302840111640100000000831117156106fe57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561075e57600080fd5b82018360208201111561077057600080fd5b8035906020019184602083028401116401000000008311171561079257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156107f257600080fd5b82018360208201111561080457600080fd5b8035906020019184600183028401116401000000008311171561082657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111a6565b005b6108dc6004803603604081101561089057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061142d565b604051808215151515815260200191505060405180910390f35b610a03600480360360a081101561090c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561097d57600080fd5b82018360208201111561098f57600080fd5b803590602001918460018302840111640100000000831117156109b157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506114c1565b005b610a5b60048036036060811015610a1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506115fd565b005b610bc760048036036060811015610a7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab057600080fd5b820183602082011115610ac257600080fd5b80359060200191846020830284011164010000000083111715610ae457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b4457600080fd5b820183602082011115610b5657600080fd5b80359060200191846020830284011164010000000083111715610b7857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061173c565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cbc575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610cca5760019050610ccf565b600090505b919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d145750610d13853361142d565b5b610d69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612672602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610def576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806125e66030913960400191505060405180910390fd5b610dfb858585856119b2565b610e09858585855a86611d17565b5050505050565b60608151835114610e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612646602c913960400191505060405180910390fd5b60608351604051908082528060200260200182016040528015610e9e5781602001602082028038833980820191505090505b50905060008090505b8451811015610f4b57600080868381518110610ebf57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610f0f57fe5b6020026020010151815260200190815260200160002054828281518110610f3257fe5b6020026020010181815250508080600101915050610ea7565b508091505092915050565b610fb8826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002054611fd590919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a461109f60008585855a8661205d565b50505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b8151835114611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806126a16030913960400191505060405180910390fd5b60008351905060008090505b8181101561130f5761129c84828151811061122357fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088858151811061127757fe5b6020026020010151815260200190815260200160002054611fd590919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008784815181106112e857fe5b6020026020010151815260200190815260200160002081905550808060010191505061120c565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156113c05780820151818401526020810190506113a5565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156114025780820151818401526020810190506113e7565b5050505090500194505050505060405180910390a461142660008686865a87611d17565b5050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806115015750611500853361142d565b5b611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612587602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156115dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061255c602b913960400191505060405180910390fd5b6115e885858585612299565b6115f6858585855a8661205d565b5050505050565b61165f816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461248d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a4505050565b6000825190508151811461179b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806126166030913960400191505060405180910390fd5b60008090505b818110156118a4576118318382815181106117b857fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087858151811061180c57fe5b602002602001015181526020019081526020016000205461248d90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061187d57fe5b602002602001015181526020019081526020016000208190555080806001019150506117a1565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561195557808201518184015260208101905061193a565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561199757808201518184015260208101905061197c565b5050505090500194505050505060405180910390a450505050565b8051825114611a0c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806125b16035913960400191505060405180910390fd5b60008251905060008090505b81811015611c0957611aa8838281518110611a2f57fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611a8357fe5b602002602001015181526020019081526020016000205461248d90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611af457fe5b6020026020010151815260200190815260200160002081905550611b96838281518110611b1d57fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611b7157fe5b6020026020010151815260200190815260200160002054611fd590919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611be257fe5b60200260200101518152602001908152602001600020819055508080600101915050611a18565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cb9578082015181840152602081019050611c9e565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611cfb578082015181840152602081019050611ce0565b5050505090500194505050505060405180910390a45050505050565b611d368573ffffffffffffffffffffffffffffffffffffffff16612516565b15611fcd5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611e1d578082015181840152602081019050611e02565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611e5f578082015181840152602081019050611e44565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611e9e578082015181840152602081019050611e83565b50505050905090810190601f168015611ecb5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015611ef057600080fd5b5087f1158015611f04573d6000803e3d6000fd5b50505050506040513d6020811015611f1b57600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611fcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806126d1603f913960400191505060405180910390fd5b505b505050505050565b600080828401905083811015612053576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b61207c8573ffffffffffffffffffffffffffffffffffffffff16612516565b156122915760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612164578082015181840152602081019050612149565b50505050905090810190601f1680156121915780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156121b457600080fd5b5087f11580156121c8573d6000803e3d6000fd5b50505050506040513d60208110156121df57600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461228f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612710603a913960400191505060405180910390fd5b505b505050505050565b6122fb816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461248d90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055506123b0816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611fd590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b600082821115612505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080823f90506000801b811415801561255357507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b91505091905056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135354d696e744275726e2362617463684275726e3a20494e56414c49445f4152524159535f4c454e475448455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52455243313135354d696e744275726e2362617463684d696e743a20494e56414c49445f4152524159535f4c454e47544845524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a72315820e7377a8c909a30f2f717594c9331e8b30c0f16471a4736e0f726a37b75116bae64736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a85760003560e01c8063a22cb46511610071578063a22cb46514610627578063b48ab8b614610677578063e985e9c51461087a578063f242432a146108f6578063f5298aca14610a05578063f6eb127a14610a5d576100a8565b8062fdd58e146100ad57806301ffc9a71461010f5780632eb2c2d6146101745780634e1273f414610397578063731133e914610538575b600080fd5b6100f9600480360360408110156100c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc9565b6040518082815260200191505060405180910390f35b61015a6004803603602081101561012557600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610c23565b604051808215151515815260200191505060405180910390f35b610395600480360360a081101561018a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101e757600080fd5b8201836020820111156101f957600080fd5b8035906020019184602083028401116401000000008311171561021b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561027b57600080fd5b82018360208201111561028d57600080fd5b803590602001918460208302840111640100000000831117156102af57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561030f57600080fd5b82018360208201111561032157600080fd5b8035906020019184600183028401116401000000008311171561034357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610cd4565b005b6104e1600480360360408110156103ad57600080fd5b81019080803590602001906401000000008111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460208302840111640100000000831117156103fe57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561045e57600080fd5b82018360208201111561047057600080fd5b8035906020019184602083028401116401000000008311171561049257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610e10565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610524578082015181840152602081019050610509565b505050509050019250505060405180910390f35b6106256004803603608081101561054e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561059f57600080fd5b8201836020820111156105b157600080fd5b803590602001918460018302840111640100000000831117156105d357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610f56565b005b6106756004803603604081101561063d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506110a5565b005b6108786004803603608081101561068d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156106ca57600080fd5b8201836020820111156106dc57600080fd5b803590602001918460208302840111640100000000831117156106fe57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561075e57600080fd5b82018360208201111561077057600080fd5b8035906020019184602083028401116401000000008311171561079257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156107f257600080fd5b82018360208201111561080457600080fd5b8035906020019184600183028401116401000000008311171561082657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111a6565b005b6108dc6004803603604081101561089057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061142d565b604051808215151515815260200191505060405180910390f35b610a03600480360360a081101561090c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561097d57600080fd5b82018360208201111561098f57600080fd5b803590602001918460018302840111640100000000831117156109b157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506114c1565b005b610a5b60048036036060811015610a1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506115fd565b005b610bc760048036036060811015610a7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab057600080fd5b820183602082011115610ac257600080fd5b80359060200191846020830284011164010000000083111715610ae457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b4457600080fd5b820183602082011115610b5657600080fd5b80359060200191846020830284011164010000000083111715610b7857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061173c565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cbc575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610cca5760019050610ccf565b600090505b919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d145750610d13853361142d565b5b610d69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612672602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610def576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806125e66030913960400191505060405180910390fd5b610dfb858585856119b2565b610e09858585855a86611d17565b5050505050565b60608151835114610e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612646602c913960400191505060405180910390fd5b60608351604051908082528060200260200182016040528015610e9e5781602001602082028038833980820191505090505b50905060008090505b8451811015610f4b57600080868381518110610ebf57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610f0f57fe5b6020026020010151815260200190815260200160002054828281518110610f3257fe5b6020026020010181815250508080600101915050610ea7565b508091505092915050565b610fb8826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002054611fd590919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a461109f60008585855a8661205d565b50505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b8151835114611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806126a16030913960400191505060405180910390fd5b60008351905060008090505b8181101561130f5761129c84828151811061122357fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088858151811061127757fe5b6020026020010151815260200190815260200160002054611fd590919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008784815181106112e857fe5b6020026020010151815260200190815260200160002081905550808060010191505061120c565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156113c05780820151818401526020810190506113a5565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156114025780820151818401526020810190506113e7565b5050505090500194505050505060405180910390a461142660008686865a87611d17565b5050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806115015750611500853361142d565b5b611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612587602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156115dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061255c602b913960400191505060405180910390fd5b6115e885858585612299565b6115f6858585855a8661205d565b5050505050565b61165f816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461248d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a4505050565b6000825190508151811461179b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806126166030913960400191505060405180910390fd5b60008090505b818110156118a4576118318382815181106117b857fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087858151811061180c57fe5b602002602001015181526020019081526020016000205461248d90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061187d57fe5b602002602001015181526020019081526020016000208190555080806001019150506117a1565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561195557808201518184015260208101905061193a565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561199757808201518184015260208101905061197c565b5050505090500194505050505060405180910390a450505050565b8051825114611a0c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806125b16035913960400191505060405180910390fd5b60008251905060008090505b81811015611c0957611aa8838281518110611a2f57fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611a8357fe5b602002602001015181526020019081526020016000205461248d90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611af457fe5b6020026020010151815260200190815260200160002081905550611b96838281518110611b1d57fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611b7157fe5b6020026020010151815260200190815260200160002054611fd590919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611be257fe5b60200260200101518152602001908152602001600020819055508080600101915050611a18565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cb9578082015181840152602081019050611c9e565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611cfb578082015181840152602081019050611ce0565b5050505090500194505050505060405180910390a45050505050565b611d368573ffffffffffffffffffffffffffffffffffffffff16612516565b15611fcd5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611e1d578082015181840152602081019050611e02565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611e5f578082015181840152602081019050611e44565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611e9e578082015181840152602081019050611e83565b50505050905090810190601f168015611ecb5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015611ef057600080fd5b5087f1158015611f04573d6000803e3d6000fd5b50505050506040513d6020811015611f1b57600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611fcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806126d1603f913960400191505060405180910390fd5b505b505050505050565b600080828401905083811015612053576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b61207c8573ffffffffffffffffffffffffffffffffffffffff16612516565b156122915760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612164578082015181840152602081019050612149565b50505050905090810190601f1680156121915780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156121b457600080fd5b5087f11580156121c8573d6000803e3d6000fd5b50505050506040513d60208110156121df57600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461228f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612710603a913960400191505060405180910390fd5b505b505050505050565b6122fb816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461248d90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055506123b0816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611fd590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b600082821115612505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080823f90506000801b811415801561255357507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b91505091905056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135354d696e744275726e2362617463684275726e3a20494e56414c49445f4152524159535f4c454e475448455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52455243313135354d696e744275726e2362617463684d696e743a20494e56414c49445f4152524159535f4c454e47544845524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a72315820e7377a8c909a30f2f717594c9331e8b30c0f16471a4736e0f726a37b75116bae64736f6c63430005110032", - "sourceMap": "95:1644:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;95:1644:4;;;;;;;", - "deployedSourceMap": "95:1644:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;95:1644:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7048:123:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7048:123:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8969:234;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8969:234:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2273:513;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;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;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2273:513:18;;;;;;;;;;;;;;;:::i;:::-;;7451:486;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7451:486:18;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;7451:486:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;7451:486:18;;;;;;;;;;;;;;;:::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;7451:486:18;;;;;;;;;;;;;;;;;135:316:4;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;135:316:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;135:316:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;135:316:4;;;;;;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;135:316:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;135:316:4;;;;;;;;;;;;;;;:::i;:::-;;6085:221:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6085:221:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;455:601:4;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;455:601:4;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;455:601:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;455:601:4;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;455:601:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;455:601:4;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;455:601:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;455:601:4;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;455:601:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;455:601:4;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;455:601:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;455:601:4;;;;;;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;455:601:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;455:601:4;;;;;;;;;;;;;;;:::i;:::-;;6557:151:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6557:151:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1343:547;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1343:547:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1343:547:18;;;;;;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;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;1343:547:18;;;;;;;;;;;;;;;:::i;:::-;;1060:222:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1060:222:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1286:451;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1286:451:4;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1286:451:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1286:451:4;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;1286:451:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;1286:451:4;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1286:451:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1286:451:4;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;1286:451:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;1286:451:4;;;;;;;;;;;;;;;:::i;:::-;;7048:123:18;7121:7;7145:8;:16;7154:6;7145:16;;;;;;;;;;;;;;;:21;7162:3;7145:21;;;;;;;;;;;;7138:28;;7048:123;;;;:::o;8969:234::-;9040:4;8210:10;9072:26;;9056:42;;;:12;:42;;;;:97;;;;8743:10;9126:27;;9110:43;;;:12;:43;;;;9056:97;9052:129;;;9170:4;9163:11;;;;9052:129;9193:5;9186:12;;8969:234;;;;:::o;2273:513::-;2464:5;2450:19;;:10;:19;;;2449:60;;;;2474:35;2491:5;2498:10;2474:16;:35::i;:::-;2449:60;2441:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2590:1;2575:17;;:3;:17;;;;2567:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2652:50;2675:5;2682:3;2687:4;2693:8;2652:22;:50::i;:::-;2708:73;2736:5;2743:3;2748:4;2754:8;2764:9;2775:5;2708:27;:73::i;:::-;2273:513;;;;;:::o;7451:486::-;7549:16;7601:4;:11;7583:7;:14;:29;7575:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7685:30;7732:7;:14;7718:29;;;;;;;;;;;;;;;;;;;;;;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;7718:29:18;;;;7685:62;;7803:9;7815:1;7803:13;;7798:108;7822:7;:14;7818:1;:18;7798:108;;;7870:8;:20;7879:7;7887:1;7879:10;;;;;;;;;;;;;;7870:20;;;;;;;;;;;;;;;:29;7891:4;7896:1;7891:7;;;;;;;;;;;;;;7870:29;;;;;;;;;;;;7851:13;7865:1;7851:16;;;;;;;;;;;;;:48;;;;;7838:3;;;;;;;7798:108;;;;7919:13;7912:20;;;7451:486;;;;:::o;135:316:4:-;266:31;289:7;266:8;:13;275:3;266:13;;;;;;;;;;;;;;;:18;280:3;266:18;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;245:8;:13;254:3;245:13;;;;;;;;;;;;;;;:18;259:3;245:18;;;;;;;;;;;:52;;;;349:3;308:59;;343:3;308:59;;323:10;308:59;;;354:3;359:7;308:59;;;;;;;;;;;;;;;;;;;;;;;;373:73;404:3;410;415;420:7;429:9;440:5;373:22;:73::i;:::-;135:316;;;;:::o;6085:221:18:-;6233:9;6198;:21;6208:10;6198:21;;;;;;;;;;;;;;;:32;6220:9;6198:32;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;6280:9;6253:48;;6268:10;6253:48;;;6291:9;6253:48;;;;;;;;;;;;;;;;;;;;;;6085:221;;:::o;455:601:4:-;620:8;:15;605:4;:11;:30;590:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;705:13;721:4;:11;705:27;;743:9;755:1;743:13;;738:115;762:5;758:1;:9;738:115;;;807:39;834:8;843:1;834:11;;;;;;;;;;;;;;807:8;:13;816:3;807:13;;;;;;;;;;;;;;;:22;821:4;826:1;821:7;;;;;;;;;;;;;;807:22;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;782:8;:13;791:3;782:13;;;;;;;;;;;;;;;:22;796:4;801:1;796:7;;;;;;;;;;;;;;782:22;;;;;;;;;;;:64;;;;769:3;;;;;;;738:115;;;;903:3;863:60;;897:3;863:60;;877:10;863:60;;;908:4;914:8;863:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;863:60:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;863:60:4;;;;;;;;;;;;;;;;;;;929:122;972:3;984;995:4;1007:8;1023:9;1040:5;929:27;:122::i;:::-;455:601;;;;;:::o;6557:151:18:-;6643:15;6675:9;:17;6685:6;6675:17;;;;;;;;;;;;;;;:28;6693:9;6675:28;;;;;;;;;;;;;;;;;;;;;;;;;6668:35;;6557:151;;;;:::o;1343:547::-;1489:5;1475:19;;:10;:19;;;1474:60;;;;1499:35;1516:5;1523:10;1499:16;:35::i;:::-;1474:60;1466:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1610:1;1595:17;;:3;:17;;;;1587:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1770:43;1788:5;1795:3;1800;1805:7;1770:17;:43::i;:::-;1819:66;1842:5;1849:3;1854;1859:7;1868:9;1879:5;1819:22;:66::i;:::-;1343:547;;;;;:::o;1060:222:4:-;1171:33;1196:7;1171:8;:15;1180:5;1171:15;;;;;;;;;;;;;;;:20;1187:3;1171:20;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;1148:8;:15;1157:5;1148:15;;;;;;;;;;;;;;;:20;1164:3;1148:20;;;;;;;;;;;:56;;;;1258:3;1216:61;;1243:5;1216:61;;1231:10;1216:61;;;1264:3;1269:7;1216:61;;;;;;;;;;;;;;;;;;;;;;;;1060:222;;;:::o;1286:451::-;1399:13;1415:4;:11;1399:27;;1456:8;:15;1447:5;:24;1432:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1546:9;1558:1;1546:13;;1541:119;1565:5;1561:1;:9;1541:119;;;1612:41;1641:8;1650:1;1641:11;;;;;;;;;;;;;;1612:8;:15;1621:5;1612:15;;;;;;;;;;;;;;;:24;1628:4;1633:1;1628:7;;;;;;;;;;;;;;1612:24;;;;;;;;;;;;:28;;:41;;;;:::i;:::-;1585:8;:15;1594:5;1585:15;;;;;;;;;;;;;;;:24;1601:4;1606:1;1601:7;;;;;;;;;;;;;;1585:24;;;;;;;;;;;:68;;;;1572:3;;;;;;;1541:119;;;;1711:3;1670:62;;1696:5;1670:62;;1684:10;1670:62;;;1717:4;1723:8;1670:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1670:62:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1670:62:4;;;;;;;;;;;;;;;;;;;1286:451;;;;:::o;4403:670:18:-;4557:8;:15;4542:4;:11;:30;4534:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4674:17;4694:4;:11;4674:31;;4748:9;4760:1;4748:13;;4743:243;4767:9;4763:1;:13;4743:243;;;4866:41;4895:8;4904:1;4895:11;;;;;;;;;;;;;;4866:8;:15;4875:5;4866:15;;;;;;;;;;;;;;;:24;4882:4;4887:1;4882:7;;;;;;;;;;;;;;4866:24;;;;;;;;;;;;:28;;:41;;;;:::i;:::-;4839:8;:15;4848:5;4839:15;;;;;;;;;;;;;;;:24;4855:4;4860:1;4855:7;;;;;;;;;;;;;;4839:24;;;;;;;;;;;:68;;;;4940:39;4967:8;4976:1;4967:11;;;;;;;;;;;;;;4940:8;:13;4949:3;4940:13;;;;;;;;;;;;;;;:22;4954:4;4959:1;4954:7;;;;;;;;;;;;;;4940:22;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;4915:8;:13;4924:3;4915:13;;;;;;;;;;;;;;;:22;4929:4;4934:1;4929:7;;;;;;;;;;;;;;4915:22;;;;;;;;;;;:64;;;;4778:3;;;;;;;4743:243;;;;5048:3;5015:53;;5041:5;5015:53;;5029:10;5015:53;;;5053:4;5059:8;5015:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5015:53:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5015:53:18;;;;;;;;;;;;;;;;;;;4403:670;;;;;:::o;5186:502::-;5407:16;:3;:14;;;:16::i;:::-;5403:281;;;5433:13;5471:3;5449:49;;;5503:9;5514:10;5526:5;5533:4;5539:8;5549:5;5449:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5449:106:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5449:106:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5449:106:18;;;;;;;;;;;;;;;;5433:122;;671:10;5581:28;;5571:38;;;:6;:38;;;;5563:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5403:281;;5186:502;;;;;;:::o;1421:158:21:-;1479:7;1494:9;1510:1;1506;:5;1494:17;;1530:1;1525;:6;;1517:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:1;1565:8;;;1421:158;;;;:::o;3651:455:18:-;3843:16;:3;:14;;;:16::i;:::-;3839:263;;;3869:13;3907:3;3885:44;;;3934:9;3945:10;3957:5;3964:3;3969:7;3978:5;3885:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3885:99:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3885:99:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3885:99:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3885:99:18;;;;;;;;;;;;;;;;3869:115;;601:10;4010:22;;4000:32;;;:6;:32;;;;3992:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3839:263;;3651:455;;;;;;:::o;3176:367::-;3328:33;3353:7;3328:8;:15;3337:5;3328:15;;;;;;;;;;;;;;;:20;3344:3;3328:20;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;3305:8;:15;3314:5;3305:15;;;;;;;;;;;;;;;:20;3321:3;3305:20;;;;;;;;;;;:56;;;;3407:31;3430:7;3407:8;:13;3416:3;3407:13;;;;;;;;;;;;;;;:18;3421:3;3407:18;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;3386:8;:13;3395:3;3386:13;;;;;;;;;;;;;;;:18;3400:3;3386:18;;;;;;;;;;;:52;;;;3520:3;3486:52;;3513:5;3486:52;;3501:10;3486:52;;;3525:3;3530:7;3486:52;;;;;;;;;;;;;;;;;;;;;;;;3176:367;;;;:::o;1188:158:21:-;1246:7;1274:1;1269;:6;;1261:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1309:9;1325:1;1321;:5;1309:17;;1340:1;1333:8;;;1188:158;;;;:::o;543:398:20:-;604:4;616:16;868:8;856:21;844:33;;904:3;892:15;;:8;:15;;:43;;;;;208:66;923:12;;911:8;:24;;892:43;884:52;;;543:398;;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\";\n\n\ncontract ERC1155MintBurn is ERC1155 {\n function mint(\n address _to,\n uint256 _id,\n uint256 _amount,\n bytes memory _data\n ) public {\n balances[_to][_id] = balances[_to][_id].add(_amount);\n emit TransferSingle(msg.sender, address(0x0), _to, _id, _amount);\n _callonERC1155Received(address(0x0), _to, _id, _amount, gasleft(), _data);\n }\n\n function batchMint(\n address _to,\n uint256[] memory _ids,\n uint256[] memory _amounts,\n bytes memory _data\n ) public {\n require(\n _ids.length == _amounts.length,\n \"ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH\"\n );\n uint256 nMint = _ids.length;\n for (uint256 i = 0; i < nMint; i++) {\n balances[_to][_ids[i]] = balances[_to][_ids[i]].add(_amounts[i]);\n }\n emit TransferBatch(msg.sender, address(0x0), _to, _ids, _amounts);\n _callonERC1155BatchReceived(\n address(0x0),\n _to,\n _ids,\n _amounts,\n gasleft(),\n _data\n );\n }\n\n function burn(\n address _from,\n uint256 _id,\n uint256 _amount\n ) public {\n balances[_from][_id] = balances[_from][_id].sub(_amount);\n\n emit TransferSingle(msg.sender, _from, address(0x0), _id, _amount);\n }\n\n function batchBurn(\n address _from,\n uint256[] memory _ids,\n uint256[] memory _amounts\n ) public {\n uint256 nBurn = _ids.length;\n require(\n nBurn == _amounts.length,\n \"ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH\"\n );\n for (uint256 i = 0; i < nBurn; i++) {\n balances[_from][_ids[i]] = balances[_from][_ids[i]].sub(_amounts[i]);\n }\n emit TransferBatch(msg.sender, _from, address(0x0), _ids, _amounts);\n }\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol", - "exportedSymbols": { - "ERC1155MintBurn": [ - 1026 - ] - }, - "id": 1027, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 783, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:4" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "id": 784, - "nodeType": "ImportDirective", - "scope": 1027, - "sourceUnit": 3503, - "src": "25:67:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 785, - "name": "ERC1155", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3502, - "src": "123:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155_$3502", - "typeString": "contract ERC1155" - } - }, - "id": 786, - "nodeType": "InheritanceSpecifier", - "src": "123:7:4" - } - ], - "contractDependencies": [ - 2923, - 2975, - 3502 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1026, - "linearizedBaseContracts": [ - 1026, - 3502, - 2923, - 2975 - ], - "name": "ERC1155MintBurn", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 835, - "nodeType": "Block", - "src": "239:212:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 797, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "245:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 800, - "indexExpression": { - "argumentTypes": null, - "id": 798, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "254:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "245:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 799, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "259:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "245:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 808, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "289:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 802, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "266:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 804, - "indexExpression": { - "argumentTypes": null, - "id": 803, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "275:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "266:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 806, - "indexExpression": { - "argumentTypes": null, - "id": 805, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "280:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "266:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "266:22:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "266:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "245:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 811, - "nodeType": "ExpressionStatement", - "src": "245:52:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 813, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "323:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "323:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "335:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "335:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 818, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "349:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 819, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "354:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 820, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "359:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 812, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "308:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "308:59:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 822, - "nodeType": "EmitStatement", - "src": "303:64:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "404:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "396:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "396:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 827, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "410:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 828, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "415:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 829, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "420:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 830, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "429:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "429:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 832, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "440:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 823, - "name": "_callonERC1155Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "373:22:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes memory)" - } - }, - "id": 833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "373:73:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 834, - "nodeType": "ExpressionStatement", - "src": "373:73:4" - } - ] - }, - "documentation": null, - "id": 836, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 788, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "154:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 787, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "154:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 790, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "171:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "171:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 792, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "188:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "188:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 794, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "209:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 793, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "209:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "148:83:4" - }, - "returnParameters": { - "id": 796, - "nodeType": "ParameterList", - "parameters": [], - "src": "239:0:4" - }, - "scope": 1026, - "src": "135:316:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 919, - "nodeType": "Block", - "src": "584:472:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 850, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "605:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "605:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 852, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "620:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "620:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "605:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135354d696e744275726e2362617463684d696e743a20494e56414c49445f4152524159535f4c454e475448", - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "643:50:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c2cdf00e4a379c0509b8cafddb567aa263e86c456840ebcc166df90a496f2dcf", - "typeString": "literal_string \"ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c2cdf00e4a379c0509b8cafddb567aa263e86c456840ebcc166df90a496f2dcf", - "typeString": "literal_string \"ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 849, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "590:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "590:109:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 857, - "nodeType": "ExpressionStatement", - "src": "590:109:4" - }, - { - "assignments": [ - 859 - ], - "declarations": [ - { - "constant": false, - "id": 859, - "name": "nMint", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "705:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "705:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 862, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 860, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "721:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "721:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "705:27:4" - }, - { - "body": { - "id": 894, - "nodeType": "Block", - "src": "774:79:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 873, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "782:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 878, - "indexExpression": { - "argumentTypes": null, - "id": 874, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "791:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "782:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 879, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 875, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "796:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 877, - "indexExpression": { - "argumentTypes": null, - "id": 876, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "801:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "796:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "782:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 888, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "834:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 890, - "indexExpression": { - "argumentTypes": null, - "id": 889, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "843:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "834:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 880, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "807:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 882, - "indexExpression": { - "argumentTypes": null, - "id": 881, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "816:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "807:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 886, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 883, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "821:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 885, - "indexExpression": { - "argumentTypes": null, - "id": 884, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "826:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "821:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "807:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "807:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "807:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "782:64:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 893, - "nodeType": "ExpressionStatement", - "src": "782:64:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 867, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "758:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 868, - "name": "nMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "762:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "758:9:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 895, - "initializationExpression": { - "assignments": [ - 864 - ], - "declarations": [ - { - "constant": false, - "id": 864, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "743:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "743:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 866, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "755:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "743:13:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "769:3:4", - "subExpression": { - "argumentTypes": null, - "id": 870, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "769:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 872, - "nodeType": "ExpressionStatement", - "src": "769:3:4" - }, - "nodeType": "ForStatement", - "src": "738:115:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 897, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "877:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "877:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "897:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 899, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "889:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "889:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 902, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "903:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 903, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "908:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 904, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "914:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 896, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "863:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "863:60:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 906, - "nodeType": "EmitStatement", - "src": "858:65:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "972:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "964:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "964:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 911, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "984:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 912, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "995:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 913, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "1007:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 914, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "1023:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1023:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 916, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "1040:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 907, - "name": "_callonERC1155BatchReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "929:27:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,uint256,bytes memory)" - } - }, - "id": 917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "929:122:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 918, - "nodeType": "ExpressionStatement", - "src": "929:122:4" - } - ] - }, - "documentation": null, - "id": 920, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "batchMint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 838, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "479:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 837, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "479:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 841, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "496:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "496:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 840, - "length": null, - "nodeType": "ArrayTypeName", - "src": "496:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 844, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "523:25:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "523:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 843, - "length": null, - "nodeType": "ArrayTypeName", - "src": "523:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 846, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "554:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 845, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "554:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "473:103:4" - }, - "returnParameters": { - "id": 848, - "nodeType": "ParameterList", - "parameters": [], - "src": "584:0:4" - }, - "scope": 1026, - "src": "455:601:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 955, - "nodeType": "Block", - "src": "1142:140:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 929, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1148:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 932, - "indexExpression": { - "argumentTypes": null, - "id": 930, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1157:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1148:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 933, - "indexExpression": { - "argumentTypes": null, - "id": 931, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1164:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1148:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 940, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "1196:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 934, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1171:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 936, - "indexExpression": { - "argumentTypes": null, - "id": 935, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1180:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1171:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 938, - "indexExpression": { - "argumentTypes": null, - "id": 937, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1187:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1171:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "1171:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1171:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1148:56:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 943, - "nodeType": "ExpressionStatement", - "src": "1148:56:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 945, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1231:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1231:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 947, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1243:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1258:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1250:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1250:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 951, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1264:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 952, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "1269:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 944, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "1216:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1216:61:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 954, - "nodeType": "EmitStatement", - "src": "1211:66:4" - } - ] - }, - "documentation": null, - "id": 956, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 922, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1079:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 921, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1079:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 924, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1098:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1098:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1115:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1115:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1073:61:4" - }, - "returnParameters": { - "id": 928, - "nodeType": "ParameterList", - "parameters": [], - "src": "1142:0:4" - }, - "scope": 1026, - "src": "1060:222:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1024, - "nodeType": "Block", - "src": "1393:344:4", - "statements": [ - { - "assignments": [ - 968 - ], - "declarations": [ - { - "constant": false, - "id": 968, - "name": "nBurn", - "nodeType": "VariableDeclaration", - "scope": 1024, - "src": "1399:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1399:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 971, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 969, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1415:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1415:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1399:27:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 973, - "name": "nBurn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "1447:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 974, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1456:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1456:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1447:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135354d696e744275726e2362617463684275726e3a20494e56414c49445f4152524159535f4c454e475448", - "id": 977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1479:50:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92d6c72c0bfcfeb49daaa9cdaa3cb6eaf5bea3606e77850ddb5abca8245aefb7", - "typeString": "literal_string \"ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92d6c72c0bfcfeb49daaa9cdaa3cb6eaf5bea3606e77850ddb5abca8245aefb7", - "typeString": "literal_string \"ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 972, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1432:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1432:103:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 979, - "nodeType": "ExpressionStatement", - "src": "1432:103:4" - }, - { - "body": { - "id": 1011, - "nodeType": "Block", - "src": "1577:83:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 990, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1585:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 995, - "indexExpression": { - "argumentTypes": null, - "id": 991, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1594:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1585:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 996, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 992, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1601:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 994, - "indexExpression": { - "argumentTypes": null, - "id": 993, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1606:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1601:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1585:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1005, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1641:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1007, - "indexExpression": { - "argumentTypes": null, - "id": 1006, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1650:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1641:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 997, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1612:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 999, - "indexExpression": { - "argumentTypes": null, - "id": 998, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1621:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1612:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1003, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1000, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1628:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1002, - "indexExpression": { - "argumentTypes": null, - "id": 1001, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1633:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1628:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1612:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "1612:28:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1612:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1585:68:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1010, - "nodeType": "ExpressionStatement", - "src": "1585:68:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 984, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1561:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 985, - "name": "nBurn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "1565:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1561:9:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1012, - "initializationExpression": { - "assignments": [ - 981 - ], - "declarations": [ - { - "constant": false, - "id": 981, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "1546:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 980, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 983, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1558:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1546:13:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1572:3:4", - "subExpression": { - "argumentTypes": null, - "id": 987, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1572:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 989, - "nodeType": "ExpressionStatement", - "src": "1572:3:4" - }, - "nodeType": "ForStatement", - "src": "1541:119:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1014, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1684:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1684:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1016, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1696:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 1018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1711:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1703:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1703:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1020, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1717:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 1021, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1723:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 1013, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "1670:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 1022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1670:62:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1023, - "nodeType": "EmitStatement", - "src": "1665:67:4" - } - ] - }, - "documentation": null, - "id": 1025, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "batchBurn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 958, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1310:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 957, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1310:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 961, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1329:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1329:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 960, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1329:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 964, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1356:25:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 962, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1356:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 963, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1356:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1304:81:4" - }, - "returnParameters": { - "id": 966, - "nodeType": "ParameterList", - "parameters": [], - "src": "1393:0:4" - }, - "scope": 1026, - "src": "1286:451:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 1027, - "src": "95:1644:4" - } - ], - "src": "0:1740:4" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol", - "exportedSymbols": { - "ERC1155MintBurn": [ - 1026 - ] - }, - "id": 1027, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 783, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:4" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "id": 784, - "nodeType": "ImportDirective", - "scope": 1027, - "sourceUnit": 3503, - "src": "25:67:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 785, - "name": "ERC1155", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3502, - "src": "123:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155_$3502", - "typeString": "contract ERC1155" - } - }, - "id": 786, - "nodeType": "InheritanceSpecifier", - "src": "123:7:4" - } - ], - "contractDependencies": [ - 2923, - 2975, - 3502 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1026, - "linearizedBaseContracts": [ - 1026, - 3502, - 2923, - 2975 - ], - "name": "ERC1155MintBurn", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 835, - "nodeType": "Block", - "src": "239:212:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 797, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "245:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 800, - "indexExpression": { - "argumentTypes": null, - "id": 798, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "254:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "245:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 799, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "259:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "245:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 808, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "289:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 802, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "266:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 804, - "indexExpression": { - "argumentTypes": null, - "id": 803, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "275:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "266:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 806, - "indexExpression": { - "argumentTypes": null, - "id": 805, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "280:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "266:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "266:22:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "266:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "245:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 811, - "nodeType": "ExpressionStatement", - "src": "245:52:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 813, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "323:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "323:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "335:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "335:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 818, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "349:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 819, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "354:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 820, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "359:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 812, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "308:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "308:59:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 822, - "nodeType": "EmitStatement", - "src": "303:64:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "404:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "396:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "396:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 827, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "410:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 828, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "415:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 829, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "420:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 830, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "429:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "429:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 832, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "440:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 823, - "name": "_callonERC1155Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "373:22:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes memory)" - } - }, - "id": 833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "373:73:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 834, - "nodeType": "ExpressionStatement", - "src": "373:73:4" - } - ] - }, - "documentation": null, - "id": 836, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 788, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "154:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 787, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "154:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 790, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "171:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "171:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 792, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "188:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "188:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 794, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "209:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 793, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "209:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "148:83:4" - }, - "returnParameters": { - "id": 796, - "nodeType": "ParameterList", - "parameters": [], - "src": "239:0:4" - }, - "scope": 1026, - "src": "135:316:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 919, - "nodeType": "Block", - "src": "584:472:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 850, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "605:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "605:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 852, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "620:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "620:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "605:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135354d696e744275726e2362617463684d696e743a20494e56414c49445f4152524159535f4c454e475448", - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "643:50:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c2cdf00e4a379c0509b8cafddb567aa263e86c456840ebcc166df90a496f2dcf", - "typeString": "literal_string \"ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c2cdf00e4a379c0509b8cafddb567aa263e86c456840ebcc166df90a496f2dcf", - "typeString": "literal_string \"ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 849, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "590:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "590:109:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 857, - "nodeType": "ExpressionStatement", - "src": "590:109:4" - }, - { - "assignments": [ - 859 - ], - "declarations": [ - { - "constant": false, - "id": 859, - "name": "nMint", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "705:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "705:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 862, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 860, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "721:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "721:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "705:27:4" - }, - { - "body": { - "id": 894, - "nodeType": "Block", - "src": "774:79:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 873, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "782:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 878, - "indexExpression": { - "argumentTypes": null, - "id": 874, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "791:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "782:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 879, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 875, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "796:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 877, - "indexExpression": { - "argumentTypes": null, - "id": 876, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "801:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "796:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "782:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 888, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "834:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 890, - "indexExpression": { - "argumentTypes": null, - "id": 889, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "843:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "834:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 880, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "807:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 882, - "indexExpression": { - "argumentTypes": null, - "id": 881, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "816:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "807:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 886, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 883, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "821:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 885, - "indexExpression": { - "argumentTypes": null, - "id": 884, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "826:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "821:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "807:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "807:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "807:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "782:64:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 893, - "nodeType": "ExpressionStatement", - "src": "782:64:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 867, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "758:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 868, - "name": "nMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "762:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "758:9:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 895, - "initializationExpression": { - "assignments": [ - 864 - ], - "declarations": [ - { - "constant": false, - "id": 864, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "743:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "743:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 866, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "755:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "743:13:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "769:3:4", - "subExpression": { - "argumentTypes": null, - "id": 870, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "769:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 872, - "nodeType": "ExpressionStatement", - "src": "769:3:4" - }, - "nodeType": "ForStatement", - "src": "738:115:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 897, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "877:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "877:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "897:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 899, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "889:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "889:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 902, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "903:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 903, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "908:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 904, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "914:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 896, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "863:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "863:60:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 906, - "nodeType": "EmitStatement", - "src": "858:65:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "972:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "964:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "964:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 911, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "984:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 912, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "995:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 913, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "1007:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 914, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "1023:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1023:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 916, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "1040:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 907, - "name": "_callonERC1155BatchReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "929:27:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,uint256,bytes memory)" - } - }, - "id": 917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "929:122:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 918, - "nodeType": "ExpressionStatement", - "src": "929:122:4" - } - ] - }, - "documentation": null, - "id": 920, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "batchMint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 838, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "479:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 837, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "479:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 841, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "496:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "496:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 840, - "length": null, - "nodeType": "ArrayTypeName", - "src": "496:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 844, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "523:25:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "523:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 843, - "length": null, - "nodeType": "ArrayTypeName", - "src": "523:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 846, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "554:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 845, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "554:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "473:103:4" - }, - "returnParameters": { - "id": 848, - "nodeType": "ParameterList", - "parameters": [], - "src": "584:0:4" - }, - "scope": 1026, - "src": "455:601:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 955, - "nodeType": "Block", - "src": "1142:140:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 929, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1148:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 932, - "indexExpression": { - "argumentTypes": null, - "id": 930, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1157:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1148:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 933, - "indexExpression": { - "argumentTypes": null, - "id": 931, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1164:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1148:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 940, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "1196:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 934, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1171:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 936, - "indexExpression": { - "argumentTypes": null, - "id": 935, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1180:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1171:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 938, - "indexExpression": { - "argumentTypes": null, - "id": 937, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1187:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1171:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "1171:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1171:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1148:56:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 943, - "nodeType": "ExpressionStatement", - "src": "1148:56:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 945, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1231:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1231:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 947, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1243:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1258:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1250:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1250:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 951, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1264:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 952, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "1269:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 944, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "1216:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1216:61:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 954, - "nodeType": "EmitStatement", - "src": "1211:66:4" - } - ] - }, - "documentation": null, - "id": 956, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 922, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1079:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 921, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1079:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 924, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1098:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1098:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1115:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1115:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1073:61:4" - }, - "returnParameters": { - "id": 928, - "nodeType": "ParameterList", - "parameters": [], - "src": "1142:0:4" - }, - "scope": 1026, - "src": "1060:222:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1024, - "nodeType": "Block", - "src": "1393:344:4", - "statements": [ - { - "assignments": [ - 968 - ], - "declarations": [ - { - "constant": false, - "id": 968, - "name": "nBurn", - "nodeType": "VariableDeclaration", - "scope": 1024, - "src": "1399:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1399:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 971, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 969, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1415:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1415:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1399:27:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 973, - "name": "nBurn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "1447:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 974, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1456:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1456:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1447:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135354d696e744275726e2362617463684275726e3a20494e56414c49445f4152524159535f4c454e475448", - "id": 977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1479:50:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92d6c72c0bfcfeb49daaa9cdaa3cb6eaf5bea3606e77850ddb5abca8245aefb7", - "typeString": "literal_string \"ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92d6c72c0bfcfeb49daaa9cdaa3cb6eaf5bea3606e77850ddb5abca8245aefb7", - "typeString": "literal_string \"ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 972, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1432:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1432:103:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 979, - "nodeType": "ExpressionStatement", - "src": "1432:103:4" - }, - { - "body": { - "id": 1011, - "nodeType": "Block", - "src": "1577:83:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 990, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1585:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 995, - "indexExpression": { - "argumentTypes": null, - "id": 991, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1594:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1585:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 996, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 992, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1601:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 994, - "indexExpression": { - "argumentTypes": null, - "id": 993, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1606:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1601:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1585:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1005, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1641:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1007, - "indexExpression": { - "argumentTypes": null, - "id": 1006, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1650:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1641:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 997, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1612:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 999, - "indexExpression": { - "argumentTypes": null, - "id": 998, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1621:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1612:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1003, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1000, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1628:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1002, - "indexExpression": { - "argumentTypes": null, - "id": 1001, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1633:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1628:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1612:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "1612:28:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1612:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1585:68:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1010, - "nodeType": "ExpressionStatement", - "src": "1585:68:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 984, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1561:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 985, - "name": "nBurn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "1565:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1561:9:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1012, - "initializationExpression": { - "assignments": [ - 981 - ], - "declarations": [ - { - "constant": false, - "id": 981, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "1546:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 980, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 983, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1558:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1546:13:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1572:3:4", - "subExpression": { - "argumentTypes": null, - "id": 987, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1572:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 989, - "nodeType": "ExpressionStatement", - "src": "1572:3:4" - }, - "nodeType": "ForStatement", - "src": "1541:119:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1014, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1684:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1684:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1016, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1696:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 1018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1711:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1703:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1703:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1020, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1717:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 1021, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1723:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 1013, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "1670:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 1022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1670:62:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1023, - "nodeType": "EmitStatement", - "src": "1665:67:4" - } - ] - }, - "documentation": null, - "id": 1025, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "batchBurn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 958, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1310:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 957, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1310:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 961, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1329:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1329:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 960, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1329:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 964, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1356:25:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 962, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1356:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 963, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1356:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1304:81:4" - }, - "returnParameters": { - "id": 966, - "nodeType": "ParameterList", - "parameters": [], - "src": "1393:0:4" - }, - "scope": 1026, - "src": "1286:451:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 1027, - "src": "95:1644:4" - } - ], - "src": "0:1740:4" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.583Z", - "devdoc": { - "methods": { - "balanceOf(address,uint256)": { - "params": { - "_id": "ID of the Token", - "_owner": "The address of the token holder" - }, - "return": "The _owner's balance of the Token type requested" - }, - "balanceOfBatch(address[],uint256[])": { - "params": { - "_ids": "ID of the Tokens", - "_owners": "The addresses of the token holders" - }, - "return": "The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)" - }, - "isApprovedForAll(address,address)": { - "params": { - "_operator": "Address of authorized operator", - "_owner": "The owner of the Tokens" - }, - "return": "True if the operator is approved, false if not" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "params": { - "_amounts": "Transfer amounts per token type", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source addresses", - "_ids": "IDs of each token type", - "_to": "Target addresses" - } - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "params": { - "_amount": "Transfered amount", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source address", - "_id": "ID of the token type", - "_to": "Target address" - } - }, - "setApprovalForAll(address,bool)": { - "params": { - "_approved": "True if the operator is approved, false to revoke approval", - "_operator": "Address to add to the set of authorized operators" - } - }, - "supportsInterface(bytes4)": { - "params": { - "_interfaceID": "The interface identifier, as specified in ERC-165" - }, - "return": "`true` if the contract implements `_interfaceID` and" - } - } - }, - "userdoc": { - "methods": { - "balanceOf(address,uint256)": { - "notice": "Get the balance of an account's Tokens" - }, - "balanceOfBatch(address[],uint256[])": { - "notice": "Get the balance of multiple account/token pairs" - }, - "isApprovedForAll(address,address)": { - "notice": "Queries the approval status of an operator for a given owner" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "notice": "Send multiple types of Tokens from the _from address to the _to address (with safety call)" - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "notice": "Transfers amount amount of an _id from the _from address to the _to address specified" - }, - "setApprovalForAll(address,bool)": { - "notice": "Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens" - }, - "supportsInterface(bytes4)": { - "notice": "Query if a contract implements an interface" - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC1155Multiproxy.json b/packages/proxyIdentity/build/contracts/ERC1155Multiproxy.json deleted file mode 100644 index 22fe561f..00000000 --- a/packages/proxyIdentity/build/contracts/ERC1155Multiproxy.json +++ /dev/null @@ -1,2917 +0,0 @@ -{ - "contractName": "ERC1155Multiproxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_uri", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address[]", - "name": "_owners", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "isOperator", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tokenCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_uri", - "type": "string" - } - ], - "name": "updateUri", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "proxies", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proxies\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"updateUri\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"params\":{\"_id\":\"ID of the Token\",\"_owner\":\"The address of the token holder\"},\"return\":\"The _owner's balance of the Token type requested\"},\"balanceOfBatch(address[],uint256[])\":{\"params\":{\"_ids\":\"ID of the Tokens\",\"_owners\":\"The addresses of the token holders\"},\"return\":\"The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\"},\"isApprovedForAll(address,address)\":{\"params\":{\"_operator\":\"Address of authorized operator\",\"_owner\":\"The owner of the Tokens\"},\"return\":\"True if the operator is approved, false if not\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"params\":{\"_amounts\":\"Transfer amounts per token type\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source addresses\",\"_ids\":\"IDs of each token type\",\"_to\":\"Target addresses\"}},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"params\":{\"_amount\":\"Transfered amount\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source address\",\"_id\":\"ID of the token type\",\"_to\":\"Target address\"}},\"setApprovalForAll(address,bool)\":{\"params\":{\"_approved\":\"True if the operator is approved, false to revoke approval\",\"_operator\":\"Address to add to the set of authorized operators\"}},\"supportsInterface(bytes4)\":{\"params\":{\"_interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"return\":\"`true` if the contract implements `_interfaceID` and\"}}},\"userdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"notice\":\"Get the balance of an account's Tokens\"},\"balanceOfBatch(address[],uint256[])\":{\"notice\":\"Get the balance of multiple account/token pairs\"},\"isApprovedForAll(address,address)\":{\"notice\":\"Queries the approval status of an operator for a given owner\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Send multiple types of Tokens from the _from address to the _to address (with safety call)\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"notice\":\"Transfers amount amount of an _id from the _from address to the _to address specified\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of caller's tokens\"},\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}},\"notice\":\"Is there smth should happen in proxy on token burn?\"}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol\":\"ERC1155Multiproxy\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":{\"keccak256\":\"0xdf4dda59244973fb70bd0cb82914435443c07fce5e003b8158afd389c889d12a\",\"urls\":[\"bzz-raw://a6b786967673526b3ba93dec11153160479b028e9b435563b7b32bc4b62710f6\",\"dweb:/ipfs/QmQ7ibdezbEeg3qMH9eAuqvUaXaNcV7EJzKvZuDM7M4Yho\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol\":{\"keccak256\":\"0x65c692e6fdfbdc216d31f9f2a82ccd528126fc3a7fd2b30460696bef6890e57b\",\"urls\":[\"bzz-raw://8018e79ca78802e46722409d8e6eca2f364c255d97de988d3c39d951cfcb5f66\",\"dweb:/ipfs/QmTFsypNNX9thXu9jFX5WzLKD95ysLWwP2Pm6QHuiMcTPb\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":{\"keccak256\":\"0x4ef6482f64e22ea36be61c3eba61f85bed1fa75f83dcda5c4850697b5ed2c4d4\",\"urls\":[\"bzz-raw://e7550ccafd3c9e121a9d9a86e6246db33cf6a1917bf89fdd3dc35c3e539489b4\",\"dweb:/ipfs/QmQKsdE526BUTA4Xjo8FeTwmYQMWeXEUqHs392hLKeFZGn\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol\":{\"keccak256\":\"0x8b5247002651f1bcc2365b22051a9db517b4e4892d71594fd0adcea4a43ec678\",\"urls\":[\"bzz-raw://f7ddd00e7da49cbac08d2c3678b520875aee42c505ffde06e62c86f43f9da43a\",\"dweb:/ipfs/QmVBa6ocmrrLp3ak46hFHVGgL2GJq9z8VWvBX4GPyWYhrD\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061224b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100b35760003560e01c80639f181b5e116100715780639f181b5e146106af578063a0712d68146106cd578063a22cb465146106fb578063bcc38d591461074b578063e985e9c5146107aa578063f242432a14610826576100b3565b8062fdd58e146100b857806301ffc9a71461011a578063057512041461017f5780630e89341c146102445780632eb2c2d6146102eb5780634e1273f41461050e575b600080fd5b610104600480360360408110156100ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610935565b6040518082815260200191505060405180910390f35b6101656004803603602081101561013057600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061098f565b604051808215151515815260200191505060405180910390f35b6102426004803603604081101561019557600080fd5b8101908080359060200190929190803590602001906401000000008111156101bc57600080fd5b8201836020820111156101ce57600080fd5b803590602001918460018302840111640100000000831117156101f057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a40565b005b6102706004803603602081101561025a57600080fd5b8101908080359060200190929190505050610b40565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102b0578082015181840152602081019050610295565b50505050905090810190601f1680156102dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61050c600480360360a081101561030157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561035e57600080fd5b82018360208201111561037057600080fd5b8035906020019184602083028401116401000000008311171561039257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103f257600080fd5b82018360208201111561040457600080fd5b8035906020019184602083028401116401000000008311171561042657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561048657600080fd5b82018360208201111561049857600080fd5b803590602001918460018302840111640100000000831117156104ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610bf5565b005b6106586004803603604081101561052457600080fd5b810190808035906020019064010000000081111561054157600080fd5b82018360208201111561055357600080fd5b8035906020019184602083028401116401000000008311171561057557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105d557600080fd5b8201836020820111156105e757600080fd5b8035906020019184602083028401116401000000008311171561060957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610d31565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561069b578082015181840152602081019050610680565b505050509050019250505060405180910390f35b6106b7610e77565b6040518082815260200191505060405180910390f35b6106f9600480360360208110156106e357600080fd5b8101908080359060200190929190505050610e7d565b005b6107496004803603604081101561071157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610f8c565b005b61075361108d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561079657808201518184015260208101905061077b565b505050509050019250505060405180910390f35b61080c600480360360408110156107c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111b565b604051808215151515815260200191505060405180910390f35b610933600480360360a081101561083c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156108ad57600080fd5b8201836020820111156108bf57600080fd5b803590602001918460018302840111640100000000831117156108e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111af565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a28575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610a365760019050610a3b565b600090505b919050565b3373ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4f6e6c79206f776e65722063616e20757064617465207572690000000000000081525060200191505060405180910390fd5b80600360008481526020019081526020016000209080519060200190610b3b929190611fe3565b505050565b6060600360008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610be95780601f10610bbe57610100808354040283529160200191610be9565b820191906000526020600020905b815481529060010190602001808311610bcc57829003601f168201915b50505050509050919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c355750610c34853361111b565b5b610c8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061216f602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d10576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806121136030913960400191505060405180910390fd5b610d1c858585856112eb565b610d2a858585855a86611650565b5050505050565b60608151835114610d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612143602c913960400191505060405180910390fd5b60608351604051908082528060200260200182016040528015610dbf5781602001602082028038833980820191505090505b50905060008090505b8451811015610e6c57600080868381518110610de057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610e3057fe5b6020026020010151815260200190815260200160002054828281518110610e5357fe5b6020026020010181815250508080600101915050610dc8565b508091505092915050565b60055481565b610ebf338260016040518060400160405280600381526020017f307830000000000000000000000000000000000000000000000000000000000081525061190e565b336004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060063390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060056000815480929190600101919050555050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6060600680548060200260200160405190810160405280929190818152602001828054801561111157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116110c7575b5050505050905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111ef57506111ee853361111b565b5b611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806120b4602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612089602b913960400191505060405180910390fd5b6112d685858585611a5d565b6112e4858585855a86611c51565b5050505050565b8051825114611345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806120de6035913960400191505060405180910390fd5b60008251905060008090505b81811015611542576113e183828151811061136857fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008785815181106113bc57fe5b6020026020010151815260200190815260200160002054611e8d90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d57fe5b60200260200101518152602001908152602001600020819055506114cf83828151811061145657fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008785815181106114aa57fe5b6020026020010151815260200190815260200160002054611f1690919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061151b57fe5b60200260200101518152602001908152602001600020819055508080600101915050611351565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156115f25780820151818401526020810190506115d7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611634578082015181840152602081019050611619565b5050505090500194505050505060405180910390a45050505050565b61166f8573ffffffffffffffffffffffffffffffffffffffff16611f9e565b156119065760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561175657808201518184015260208101905061173b565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561179857808201518184015260208101905061177d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156117d75780820151818401526020810190506117bc565b50505050905090810190601f1680156118045780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561182957600080fd5b5087f115801561183d573d6000803e3d6000fd5b50505050506040513d602081101561185457600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611904576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f81526020018061219e603f913960400191505060405180910390fd5b505b505050505050565b611970826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002054611f1690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a4611a5760008585855a86611c51565b50505050565b611abf816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611e8d90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550611b74816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611f1690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b611c708573ffffffffffffffffffffffffffffffffffffffff16611f9e565b15611e855760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d58578082015181840152602081019050611d3d565b50505050905090810190601f168015611d855780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b158015611da857600080fd5b5087f1158015611dbc573d6000803e3d6000fd5b50505050506040513d6020811015611dd357600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806121dd603a913960400191505060405180910390fd5b505b505050505050565b600082821115611f05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015611f94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b600080823f90506000801b8114158015611fdb57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b915050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061202457805160ff1916838001178555612052565b82800160010185558215612052579182015b82811115612051578251825591602001919060010190612036565b5b50905061205f9190612063565b5090565b61208591905b80821115612081576000816000905550600101612069565b5090565b9056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a72315820a196ab19c8b165fa1f870eaef69b55f876574d02398d1a41733a6536a133dea464736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b35760003560e01c80639f181b5e116100715780639f181b5e146106af578063a0712d68146106cd578063a22cb465146106fb578063bcc38d591461074b578063e985e9c5146107aa578063f242432a14610826576100b3565b8062fdd58e146100b857806301ffc9a71461011a578063057512041461017f5780630e89341c146102445780632eb2c2d6146102eb5780634e1273f41461050e575b600080fd5b610104600480360360408110156100ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610935565b6040518082815260200191505060405180910390f35b6101656004803603602081101561013057600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061098f565b604051808215151515815260200191505060405180910390f35b6102426004803603604081101561019557600080fd5b8101908080359060200190929190803590602001906401000000008111156101bc57600080fd5b8201836020820111156101ce57600080fd5b803590602001918460018302840111640100000000831117156101f057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a40565b005b6102706004803603602081101561025a57600080fd5b8101908080359060200190929190505050610b40565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102b0578082015181840152602081019050610295565b50505050905090810190601f1680156102dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61050c600480360360a081101561030157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561035e57600080fd5b82018360208201111561037057600080fd5b8035906020019184602083028401116401000000008311171561039257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103f257600080fd5b82018360208201111561040457600080fd5b8035906020019184602083028401116401000000008311171561042657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561048657600080fd5b82018360208201111561049857600080fd5b803590602001918460018302840111640100000000831117156104ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610bf5565b005b6106586004803603604081101561052457600080fd5b810190808035906020019064010000000081111561054157600080fd5b82018360208201111561055357600080fd5b8035906020019184602083028401116401000000008311171561057557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105d557600080fd5b8201836020820111156105e757600080fd5b8035906020019184602083028401116401000000008311171561060957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610d31565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561069b578082015181840152602081019050610680565b505050509050019250505060405180910390f35b6106b7610e77565b6040518082815260200191505060405180910390f35b6106f9600480360360208110156106e357600080fd5b8101908080359060200190929190505050610e7d565b005b6107496004803603604081101561071157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610f8c565b005b61075361108d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561079657808201518184015260208101905061077b565b505050509050019250505060405180910390f35b61080c600480360360408110156107c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111b565b604051808215151515815260200191505060405180910390f35b610933600480360360a081101561083c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156108ad57600080fd5b8201836020820111156108bf57600080fd5b803590602001918460018302840111640100000000831117156108e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111af565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a28575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610a365760019050610a3b565b600090505b919050565b3373ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4f6e6c79206f776e65722063616e20757064617465207572690000000000000081525060200191505060405180910390fd5b80600360008481526020019081526020016000209080519060200190610b3b929190611fe3565b505050565b6060600360008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610be95780601f10610bbe57610100808354040283529160200191610be9565b820191906000526020600020905b815481529060010190602001808311610bcc57829003601f168201915b50505050509050919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c355750610c34853361111b565b5b610c8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061216f602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d10576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806121136030913960400191505060405180910390fd5b610d1c858585856112eb565b610d2a858585855a86611650565b5050505050565b60608151835114610d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612143602c913960400191505060405180910390fd5b60608351604051908082528060200260200182016040528015610dbf5781602001602082028038833980820191505090505b50905060008090505b8451811015610e6c57600080868381518110610de057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610e3057fe5b6020026020010151815260200190815260200160002054828281518110610e5357fe5b6020026020010181815250508080600101915050610dc8565b508091505092915050565b60055481565b610ebf338260016040518060400160405280600381526020017f307830000000000000000000000000000000000000000000000000000000000081525061190e565b336004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060063390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060056000815480929190600101919050555050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6060600680548060200260200160405190810160405280929190818152602001828054801561111157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116110c7575b5050505050905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111ef57506111ee853361111b565b5b611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806120b4602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612089602b913960400191505060405180910390fd5b6112d685858585611a5d565b6112e4858585855a86611c51565b5050505050565b8051825114611345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806120de6035913960400191505060405180910390fd5b60008251905060008090505b81811015611542576113e183828151811061136857fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008785815181106113bc57fe5b6020026020010151815260200190815260200160002054611e8d90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d57fe5b60200260200101518152602001908152602001600020819055506114cf83828151811061145657fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008785815181106114aa57fe5b6020026020010151815260200190815260200160002054611f1690919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061151b57fe5b60200260200101518152602001908152602001600020819055508080600101915050611351565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156115f25780820151818401526020810190506115d7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611634578082015181840152602081019050611619565b5050505090500194505050505060405180910390a45050505050565b61166f8573ffffffffffffffffffffffffffffffffffffffff16611f9e565b156119065760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561175657808201518184015260208101905061173b565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561179857808201518184015260208101905061177d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156117d75780820151818401526020810190506117bc565b50505050905090810190601f1680156118045780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561182957600080fd5b5087f115801561183d573d6000803e3d6000fd5b50505050506040513d602081101561185457600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611904576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f81526020018061219e603f913960400191505060405180910390fd5b505b505050505050565b611970826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002054611f1690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a4611a5760008585855a86611c51565b50505050565b611abf816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611e8d90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550611b74816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611f1690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b611c708573ffffffffffffffffffffffffffffffffffffffff16611f9e565b15611e855760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d58578082015181840152602081019050611d3d565b50505050905090810190601f168015611d855780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b158015611da857600080fd5b5087f1158015611dbc573d6000803e3d6000fd5b50505050506040513d6020811015611dd357600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806121dd603a913960400191505060405180910390fd5b505b505050505050565b600082821115611f05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015611f94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b600080823f90506000801b8114158015611fdb57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b915050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061202457805160ff1916838001178555612052565b82800160010185558215612052579182015b82811115612051578251825591602001919060010190612036565b5b50905061205f9190612063565b5090565b61208591905b80821115612081576000816000905550600101612069565b5090565b9056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a72315820a196ab19c8b165fa1f870eaef69b55f876574d02398d1a41733a6536a133dea464736f6c63430005110032", - "sourceMap": "271:689:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;271:689:5;;;;;;;", - "deployedSourceMap": "271:689:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;271:689:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7048:123:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7048:123:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8969:234;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8969:234:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;557:152:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;557:152:5;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;557:152:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;557:152: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;557:152: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;;557:152:5;;;;;;;;;;;;;;;:::i;:::-;;465:86;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;465:86:5;;;;;;;;;;;;;;;;;:::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;465:86:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2273:513:18;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;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;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2273:513:18;;;;;;;;;;;;;;;:::i;:::-;;7451:486;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7451:486:18;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;7451:486:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;7451:486:18;;;;;;;;;;;;;;;:::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;7451:486:18;;;;;;;;;;;;;;;;;411:25:5;;;:::i;:::-;;;;;;;;;;;;;;;;;;;715:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:153:5;;;;;;;;;;;;;;;;;:::i;:::-;;6085:221:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6085:221:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;874:84:5;;;:::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;874:84:5;;;;;;;;;;;;;;;;;6557:151:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6557:151:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1343:547;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1343:547:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1343:547:18;;;;;;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;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;1343:547:18;;;;;;;;;;;;;;;:::i;:::-;;7048:123;7121:7;7145:8;:16;7154:6;7145:16;;;;;;;;;;;;;;;:21;7162:3;7145:21;;;;;;;;;;;;7138:28;;7048:123;;;;:::o;8969:234::-;9040:4;8210:10;9072:26;;9056:42;;;:12;:42;;;;:97;;;;8743:10;9126:27;;9110:43;;;:12;:43;;;;9056:97;9052:129;;;9170:4;9163:11;;;;9052:129;9193:5;9186:12;;8969:234;;;;:::o;557:152:5:-;643:10;629:24;;:6;:10;636:2;629:10;;;;;;;;;;;;;;;;;;;;;:24;;;621:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;700:4;689;:8;694:2;689:8;;;;;;;;;;;:15;;;;;;;;;;;;:::i;:::-;;557:152;;:::o;465:86::-;510:13;538:4;:8;543:2;538:8;;;;;;;;;;;531:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;465:86;;;:::o;2273:513:18:-;2464:5;2450:19;;:10;:19;;;2449:60;;;;2474:35;2491:5;2498:10;2474:16;:35::i;:::-;2449:60;2441:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2590:1;2575:17;;:3;:17;;;;2567:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2652:50;2675:5;2682:3;2687:4;2693:8;2652:22;:50::i;:::-;2708:73;2736:5;2743:3;2748:4;2754:8;2764:9;2775:5;2708:27;:73::i;:::-;2273:513;;;;;:::o;7451:486::-;7549:16;7601:4;:11;7583:7;:14;:29;7575:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7685:30;7732:7;:14;7718:29;;;;;;;;;;;;;;;;;;;;;;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;7718:29:18;;;;7685:62;;7803:9;7815:1;7803:13;;7798:108;7822:7;:14;7818:1;:18;7798:108;;;7870:8;:20;7879:7;7887:1;7879:10;;;;;;;;;;;;;;7870:20;;;;;;;;;;;;;;;:29;7891:4;7896:1;7891:7;;;;;;;;;;;;;;7870:29;;;;;;;;;;;;7851:13;7865:1;7851:16;;;;;;;;;;;;;:48;;;;;7838:3;;;;;;;7798:108;;;;7919:13;7912:20;;;7451:486;;;;:::o;411:25:5:-;;;;:::o;715:153::-;754:31;760:10;772:2;776:1;754:31;;;;;;;;;;;;;;;;;:5;:31::i;:::-;804:10;791:6;:10;798:2;791:10;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;820:8;834:10;820:25;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;820:25:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;851:10;;:12;;;;;;;;;;;;;715:153;:::o;6085:221:18:-;6233:9;6198;:21;6208:10;6198:21;;;;;;;;;;;;;;;:32;6220:9;6198:32;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;6280:9;6253:48;;6268:10;6253:48;;;6291:9;6253:48;;;;;;;;;;;;;;;;;;;;;;6085:221;;:::o;874:84:5:-;914:16;945:8;938:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;874:84;:::o;6557:151:18:-;6643:15;6675:9;:17;6685:6;6675:17;;;;;;;;;;;;;;;:28;6693:9;6675:28;;;;;;;;;;;;;;;;;;;;;;;;;6668:35;;6557:151;;;;:::o;1343:547::-;1489:5;1475:19;;:10;:19;;;1474:60;;;;1499:35;1516:5;1523:10;1499:16;:35::i;:::-;1474:60;1466:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1610:1;1595:17;;:3;:17;;;;1587:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1770:43;1788:5;1795:3;1800;1805:7;1770:17;:43::i;:::-;1819:66;1842:5;1849:3;1854;1859:7;1868:9;1879:5;1819:22;:66::i;:::-;1343:547;;;;;:::o;4403:670::-;4557:8;:15;4542:4;:11;:30;4534:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4674:17;4694:4;:11;4674:31;;4748:9;4760:1;4748:13;;4743:243;4767:9;4763:1;:13;4743:243;;;4866:41;4895:8;4904:1;4895:11;;;;;;;;;;;;;;4866:8;:15;4875:5;4866:15;;;;;;;;;;;;;;;:24;4882:4;4887:1;4882:7;;;;;;;;;;;;;;4866:24;;;;;;;;;;;;:28;;:41;;;;:::i;:::-;4839:8;:15;4848:5;4839:15;;;;;;;;;;;;;;;:24;4855:4;4860:1;4855:7;;;;;;;;;;;;;;4839:24;;;;;;;;;;;:68;;;;4940:39;4967:8;4976:1;4967:11;;;;;;;;;;;;;;4940:8;:13;4949:3;4940:13;;;;;;;;;;;;;;;:22;4954:4;4959:1;4954:7;;;;;;;;;;;;;;4940:22;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;4915:8;:13;4924:3;4915:13;;;;;;;;;;;;;;;:22;4929:4;4934:1;4929:7;;;;;;;;;;;;;;4915:22;;;;;;;;;;;:64;;;;4778:3;;;;;;;4743:243;;;;5048:3;5015:53;;5041:5;5015:53;;5029:10;5015:53;;;5053:4;5059:8;5015:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5015:53:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5015:53:18;;;;;;;;;;;;;;;;;;;4403:670;;;;;:::o;5186:502::-;5407:16;:3;:14;;;:16::i;:::-;5403:281;;;5433:13;5471:3;5449:49;;;5503:9;5514:10;5526:5;5533:4;5539:8;5549:5;5449:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5449:106:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5449:106:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5449:106:18;;;;;;;;;;;;;;;;5433:122;;671:10;5581:28;;5571:38;;;:6;:38;;;;5563:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5403:281;;5186:502;;;;;;:::o;649:401:20:-;788:31;811:7;788:8;:13;797:3;788:13;;;;;;;;;;;;;;;:18;802:3;788:18;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;767:8;:13;776:3;767:13;;;;;;;;;;;;;;;:18;781:3;767:18;;;;;;;;;;;:52;;;;890:3;849:59;;884:3;849:59;;864:10;849:59;;;895:3;900:7;849:59;;;;;;;;;;;;;;;;;;;;;;;;972:73;1003:3;1009;1014;1019:7;1028:9;1039:5;972:22;:73::i;:::-;649:401;;;;:::o;3176:367:18:-;3328:33;3353:7;3328:8;:15;3337:5;3328:15;;;;;;;;;;;;;;;:20;3344:3;3328:20;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;3305:8;:15;3314:5;3305:15;;;;;;;;;;;;;;;:20;3321:3;3305:20;;;;;;;;;;;:56;;;;3407:31;3430:7;3407:8;:13;3416:3;3407:13;;;;;;;;;;;;;;;:18;3421:3;3407:18;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;3386:8;:13;3395:3;3386:13;;;;;;;;;;;;;;;:18;3400:3;3386:18;;;;;;;;;;;:52;;;;3520:3;3486:52;;3513:5;3486:52;;3501:10;3486:52;;;3525:3;3530:7;3486:52;;;;;;;;;;;;;;;;;;;;;;;;3176:367;;;;:::o;3651:455::-;3843:16;:3;:14;;;:16::i;:::-;3839:263;;;3869:13;3907:3;3885:44;;;3934:9;3945:10;3957:5;3964:3;3969:7;3978:5;3885:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3885:99:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3885:99:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3885:99:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3885:99:18;;;;;;;;;;;;;;;;3869:115;;601:10;4010:22;;4000:32;;;:6;:32;;;;3992:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3839:263;;3651:455;;;;;;:::o;1188:158:22:-;1246:7;1274:1;1269;:6;;1261:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1309:9;1325:1;1321;:5;1309:17;;1340:1;1333:8;;;1188:158;;;;:::o;1421:::-;1479:7;1494:9;1510:1;1506;:5;1494:17;;1530:1;1525;:6;;1517:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:1;1565:8;;;1421:158;;;;:::o;543:398:21:-;604:4;616:16;868:8;856:21;844:33;;904:3;892:15;;:8;:15;;:43;;;;;208:66;923:12;;911:8;:24;;892:43;884:52;;;543:398;;;:::o;271:689:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol\";\nimport \"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\";\nimport \"../proxyIdentity.sol\";\n\n/**\n* Is there smth should happen in proxy on token burn?\n */\ncontract ERC1155Multiproxy is ERC1155MintBurn, ERC1155Metadata {\n mapping(uint256 => string) uris;\n mapping(uint256 => address) owners;\n uint256 public tokenCount;\n address[] _proxies;\n \n function uri(uint256 id) public view returns(string memory) {\n return uris[id];\n }\n \n function updateUri(uint256 id, string memory _uri) public {\n require(owners[id] == msg.sender, \"Only owner can update uri\");\n uris[id] = _uri;\n }\n \n function mint(uint256 id) public {\n _mint(msg.sender, id, 1, \"0x0\");\n owners[id] = msg.sender;\n _proxies.push(msg.sender);\n tokenCount++;\n }\n \n function proxies() public view returns (address[] memory) {\n return _proxies;\n }\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "exportedSymbols": { - "ERC1155Multiproxy": [ - 1183 - ] - }, - "id": 1184, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1086, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:5" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol", - "id": 1087, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 3360, - "src": "25:75:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "id": 1088, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 3115, - "src": "101:75:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "file": "../proxyIdentity.sol", - "id": 1089, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 840, - "src": "177:30:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1090, - "name": "ERC1155MintBurn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3359, - "src": "301:15:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155MintBurn_$3359", - "typeString": "contract ERC1155MintBurn" - } - }, - "id": 1091, - "nodeType": "InheritanceSpecifier", - "src": "301:15:5" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1092, - "name": "ERC1155Metadata", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3114, - "src": "318:15:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Metadata_$3114", - "typeString": "contract ERC1155Metadata" - } - }, - "id": 1093, - "nodeType": "InheritanceSpecifier", - "src": "318:15:5" - } - ], - "contractDependencies": [ - 2366, - 2418, - 2945, - 3114, - 3359 - ], - "contractKind": "contract", - "documentation": "Is there smth should happen in proxy on token burn?", - "fullyImplemented": true, - "id": 1183, - "linearizedBaseContracts": [ - 1183, - 3114, - 3359, - 2945, - 2366, - 2418 - ], - "name": "ERC1155Multiproxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 1097, - "name": "uris", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "338:31:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 1096, - "keyType": { - "id": 1094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "346:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "338:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 1095, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "357:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1101, - "name": "owners", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "373:34:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 1100, - "keyType": { - "id": 1098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "381:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "373:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 1099, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "392:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1103, - "name": "tokenCount", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "411:25:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "411:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1106, - "name": "_proxies", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "440:18:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "440:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1105, - "length": null, - "nodeType": "ArrayTypeName", - "src": "440:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 1117, - "nodeType": "Block", - "src": "525:26:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1113, - "name": "uris", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "538:4:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1115, - "indexExpression": { - "argumentTypes": null, - "id": 1114, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "543:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "538:8:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 1112, - "id": 1116, - "nodeType": "Return", - "src": "531:15:5" - } - ] - }, - "documentation": null, - "id": 1118, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1108, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "478:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "478:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "477:12:5" - }, - "returnParameters": { - "id": 1112, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1111, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "510:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1110, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "510:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "509:15:5" - }, - "scope": 1183, - "src": "465:86:5", - "stateMutability": "view", - "superFunction": 2975, - "visibility": "public" - }, - { - "body": { - "id": 1141, - "nodeType": "Block", - "src": "615:94:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1126, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "629:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1128, - "indexExpression": { - "argumentTypes": null, - "id": 1127, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "636:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "629:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1129, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "643:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "643:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "629:24:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c79206f776e65722063616e2075706461746520757269", - "id": 1132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:27:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2682dc2fe584f53d6192ac218b55209573cf6aeafbdb0d15ebaf8c1ee805790f", - "typeString": "literal_string \"Only owner can update uri\"" - }, - "value": "Only owner can update uri" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2682dc2fe584f53d6192ac218b55209573cf6aeafbdb0d15ebaf8c1ee805790f", - "typeString": "literal_string \"Only owner can update uri\"" - } - ], - "id": 1125, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "621:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "621:62:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1134, - "nodeType": "ExpressionStatement", - "src": "621:62:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1135, - "name": "uris", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "689:4:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1137, - "indexExpression": { - "argumentTypes": null, - "id": 1136, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "694:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "689:8:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1138, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "700:4:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "689:15:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1140, - "nodeType": "ExpressionStatement", - "src": "689:15:5" - } - ] - }, - "documentation": null, - "id": 1142, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1120, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1142, - "src": "576:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "576:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1122, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 1142, - "src": "588:18:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1121, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "588:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "575:32:5" - }, - "returnParameters": { - "id": 1124, - "nodeType": "ParameterList", - "parameters": [], - "src": "615:0:5" - }, - "scope": 1183, - "src": "557:152:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1172, - "nodeType": "Block", - "src": "748:120:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1148, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "760:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "760:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1150, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "772:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 1151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "776:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "307830", - "id": 1152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "779:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_77b7d82d931e1a403db0240b08c0716665eec4664af617c457918e4a67bc1810", - "typeString": "literal_string \"0x0\"" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_stringliteral_77b7d82d931e1a403db0240b08c0716665eec4664af617c457918e4a67bc1810", - "typeString": "literal_string \"0x0\"" - } - ], - "id": 1147, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3169, - "src": "754:5:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory)" - } - }, - "id": 1153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "754:31:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1154, - "nodeType": "ExpressionStatement", - "src": "754:31:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1155, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "791:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1157, - "indexExpression": { - "argumentTypes": null, - "id": 1156, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "798:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "791:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1158, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "804:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "804:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "791:23:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1161, - "nodeType": "ExpressionStatement", - "src": "791:23:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1165, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "834:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "834:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 1162, - "name": "_proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "820:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "820:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 1167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "820:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1168, - "nodeType": "ExpressionStatement", - "src": "820:25:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "851:12:5", - "subExpression": { - "argumentTypes": null, - "id": 1169, - "name": "tokenCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1103, - "src": "851:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1171, - "nodeType": "ExpressionStatement", - "src": "851:12:5" - } - ] - }, - "documentation": null, - "id": 1173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1144, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1173, - "src": "729:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "728:12:5" - }, - "returnParameters": { - "id": 1146, - "nodeType": "ParameterList", - "parameters": [], - "src": "748:0:5" - }, - "scope": 1183, - "src": "715:153:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1181, - "nodeType": "Block", - "src": "932:26:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1179, - "name": "_proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "945:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "functionReturnParameters": 1178, - "id": 1180, - "nodeType": "Return", - "src": "938:15:5" - } - ] - }, - "documentation": null, - "id": 1182, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proxies", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1174, - "nodeType": "ParameterList", - "parameters": [], - "src": "890:2:5" - }, - "returnParameters": { - "id": 1178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1177, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "914:16:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1175, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "914:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1176, - "length": null, - "nodeType": "ArrayTypeName", - "src": "914:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "913:18:5" - }, - "scope": 1183, - "src": "874:84:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 1184, - "src": "271:689:5" - } - ], - "src": "0:961:5" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "exportedSymbols": { - "ERC1155Multiproxy": [ - 1183 - ] - }, - "id": 1184, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1086, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:5" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol", - "id": 1087, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 3360, - "src": "25:75:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "id": 1088, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 3115, - "src": "101:75:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "file": "../proxyIdentity.sol", - "id": 1089, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 840, - "src": "177:30:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1090, - "name": "ERC1155MintBurn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3359, - "src": "301:15:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155MintBurn_$3359", - "typeString": "contract ERC1155MintBurn" - } - }, - "id": 1091, - "nodeType": "InheritanceSpecifier", - "src": "301:15:5" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1092, - "name": "ERC1155Metadata", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3114, - "src": "318:15:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Metadata_$3114", - "typeString": "contract ERC1155Metadata" - } - }, - "id": 1093, - "nodeType": "InheritanceSpecifier", - "src": "318:15:5" - } - ], - "contractDependencies": [ - 2366, - 2418, - 2945, - 3114, - 3359 - ], - "contractKind": "contract", - "documentation": "Is there smth should happen in proxy on token burn?", - "fullyImplemented": true, - "id": 1183, - "linearizedBaseContracts": [ - 1183, - 3114, - 3359, - 2945, - 2366, - 2418 - ], - "name": "ERC1155Multiproxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 1097, - "name": "uris", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "338:31:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 1096, - "keyType": { - "id": 1094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "346:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "338:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 1095, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "357:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1101, - "name": "owners", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "373:34:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 1100, - "keyType": { - "id": 1098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "381:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "373:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 1099, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "392:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1103, - "name": "tokenCount", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "411:25:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "411:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1106, - "name": "_proxies", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "440:18:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "440:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1105, - "length": null, - "nodeType": "ArrayTypeName", - "src": "440:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 1117, - "nodeType": "Block", - "src": "525:26:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1113, - "name": "uris", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "538:4:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1115, - "indexExpression": { - "argumentTypes": null, - "id": 1114, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "543:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "538:8:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 1112, - "id": 1116, - "nodeType": "Return", - "src": "531:15:5" - } - ] - }, - "documentation": null, - "id": 1118, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1108, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "478:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "478:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "477:12:5" - }, - "returnParameters": { - "id": 1112, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1111, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "510:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1110, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "510:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "509:15:5" - }, - "scope": 1183, - "src": "465:86:5", - "stateMutability": "view", - "superFunction": 2975, - "visibility": "public" - }, - { - "body": { - "id": 1141, - "nodeType": "Block", - "src": "615:94:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1126, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "629:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1128, - "indexExpression": { - "argumentTypes": null, - "id": 1127, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "636:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "629:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1129, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "643:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "643:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "629:24:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c79206f776e65722063616e2075706461746520757269", - "id": 1132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:27:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2682dc2fe584f53d6192ac218b55209573cf6aeafbdb0d15ebaf8c1ee805790f", - "typeString": "literal_string \"Only owner can update uri\"" - }, - "value": "Only owner can update uri" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2682dc2fe584f53d6192ac218b55209573cf6aeafbdb0d15ebaf8c1ee805790f", - "typeString": "literal_string \"Only owner can update uri\"" - } - ], - "id": 1125, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "621:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "621:62:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1134, - "nodeType": "ExpressionStatement", - "src": "621:62:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1135, - "name": "uris", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "689:4:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1137, - "indexExpression": { - "argumentTypes": null, - "id": 1136, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "694:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "689:8:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1138, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "700:4:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "689:15:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1140, - "nodeType": "ExpressionStatement", - "src": "689:15:5" - } - ] - }, - "documentation": null, - "id": 1142, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1120, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1142, - "src": "576:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "576:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1122, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 1142, - "src": "588:18:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1121, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "588:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "575:32:5" - }, - "returnParameters": { - "id": 1124, - "nodeType": "ParameterList", - "parameters": [], - "src": "615:0:5" - }, - "scope": 1183, - "src": "557:152:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1172, - "nodeType": "Block", - "src": "748:120:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1148, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "760:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "760:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1150, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "772:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 1151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "776:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "307830", - "id": 1152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "779:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_77b7d82d931e1a403db0240b08c0716665eec4664af617c457918e4a67bc1810", - "typeString": "literal_string \"0x0\"" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_stringliteral_77b7d82d931e1a403db0240b08c0716665eec4664af617c457918e4a67bc1810", - "typeString": "literal_string \"0x0\"" - } - ], - "id": 1147, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3169, - "src": "754:5:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory)" - } - }, - "id": 1153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "754:31:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1154, - "nodeType": "ExpressionStatement", - "src": "754:31:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1155, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "791:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1157, - "indexExpression": { - "argumentTypes": null, - "id": 1156, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "798:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "791:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1158, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "804:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "804:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "791:23:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1161, - "nodeType": "ExpressionStatement", - "src": "791:23:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1165, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "834:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "834:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 1162, - "name": "_proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "820:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "820:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 1167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "820:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1168, - "nodeType": "ExpressionStatement", - "src": "820:25:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "851:12:5", - "subExpression": { - "argumentTypes": null, - "id": 1169, - "name": "tokenCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1103, - "src": "851:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1171, - "nodeType": "ExpressionStatement", - "src": "851:12:5" - } - ] - }, - "documentation": null, - "id": 1173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1144, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1173, - "src": "729:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "728:12:5" - }, - "returnParameters": { - "id": 1146, - "nodeType": "ParameterList", - "parameters": [], - "src": "748:0:5" - }, - "scope": 1183, - "src": "715:153:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1181, - "nodeType": "Block", - "src": "932:26:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1179, - "name": "_proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "945:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "functionReturnParameters": 1178, - "id": 1180, - "nodeType": "Return", - "src": "938:15:5" - } - ] - }, - "documentation": null, - "id": 1182, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proxies", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1174, - "nodeType": "ParameterList", - "parameters": [], - "src": "890:2:5" - }, - "returnParameters": { - "id": 1178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1177, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "914:16:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1175, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "914:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1176, - "length": null, - "nodeType": "ArrayTypeName", - "src": "914:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "913:18:5" - }, - "scope": 1183, - "src": "874:84:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 1184, - "src": "271:689:5" - } - ], - "src": "0:961:5" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-10-25T11:29:13.831Z", - "devdoc": { - "methods": { - "balanceOf(address,uint256)": { - "params": { - "_id": "ID of the Token", - "_owner": "The address of the token holder" - }, - "return": "The _owner's balance of the Token type requested" - }, - "balanceOfBatch(address[],uint256[])": { - "params": { - "_ids": "ID of the Tokens", - "_owners": "The addresses of the token holders" - }, - "return": "The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)" - }, - "isApprovedForAll(address,address)": { - "params": { - "_operator": "Address of authorized operator", - "_owner": "The owner of the Tokens" - }, - "return": "True if the operator is approved, false if not" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "params": { - "_amounts": "Transfer amounts per token type", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source addresses", - "_ids": "IDs of each token type", - "_to": "Target addresses" - } - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "params": { - "_amount": "Transfered amount", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source address", - "_id": "ID of the token type", - "_to": "Target address" - } - }, - "setApprovalForAll(address,bool)": { - "params": { - "_approved": "True if the operator is approved, false to revoke approval", - "_operator": "Address to add to the set of authorized operators" - } - }, - "supportsInterface(bytes4)": { - "params": { - "_interfaceID": "The interface identifier, as specified in ERC-165" - }, - "return": "`true` if the contract implements `_interfaceID` and" - } - } - }, - "userdoc": { - "methods": { - "balanceOf(address,uint256)": { - "notice": "Get the balance of an account's Tokens" - }, - "balanceOfBatch(address[],uint256[])": { - "notice": "Get the balance of multiple account/token pairs" - }, - "isApprovedForAll(address,address)": { - "notice": "Queries the approval status of an operator for a given owner" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "notice": "Send multiple types of Tokens from the _from address to the _to address (with safety call)" - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "notice": "Transfers amount amount of an _id from the _from address to the _to address specified" - }, - "setApprovalForAll(address,bool)": { - "notice": "Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens" - }, - "supportsInterface(bytes4)": { - "notice": "Query if a contract implements an interface" - } - }, - "notice": "Is there smth should happen in proxy on token burn?" - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC20.json b/packages/proxyIdentity/build/contracts/ERC20.json deleted file mode 100644 index 8c18cb28..00000000 --- a/packages/proxyIdentity/build/contracts/ERC20.json +++ /dev/null @@ -1,11382 +0,0 @@ -{ - "contractName": "ERC20", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20Mintable}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb15af804e2bc97db51e4e103f13de9fe13f87e6b835d7a88c897966c0e58506e\",\"urls\":[\"bzz-raw://1e8cff8437557fc915a3bed968fcd8f2df9809599e665ef69c2c9ce628548055\",\"dweb:/ipfs/QmP5spYP8vs2jvLF8zNrXUbqB79hMsoEvMHiLcBxerWKcm\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x6080604052610e3a806100136000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146101fd578063a457c2d714610255578063a9059cbb146102bb578063dd62ed3e1461032157610088565b8063095ea7b31461008d57806318160ddd146100f357806323b872dd146101115780633950935114610197575b600080fd5b6100d9600480360360408110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610399565b604051808215151515815260200191505060405180910390f35b6100fb6103b7565b6040518082815260200191505060405180910390f35b61017d6004803603606081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103c1565b604051808215151515815260200191505060405180910390f35b6101e3600480360360408110156101ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061049a565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561021357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054d565b6040518082815260200191505060405180910390f35b6102a16004803603604081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610595565b604051808215151515815260200191505060405180910390f35b610307600480360360408110156102d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610662565b604051808215151515815260200191505060405180910390f35b6103836004803603604081101561033757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610680565b6040518082815260200191505060405180910390f35b60006103ad6103a6610707565b848461070f565b6001905092915050565b6000600254905090565b60006103ce848484610906565b61048f846103da610707565b61048a85604051806060016040528060288152602001610d7060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610440610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b600190509392505050565b60006105436104a7610707565b8461053e85600160006104b8610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b61070f565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006106586105a2610707565b8461065385604051806060016040528060258152602001610de160259139600160006105cc610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b6001905092915050565b600061067661066f610707565b8484610906565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610795576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610dbd6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561081b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d286022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561098c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610d986025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610d056023913960400191505060405180910390fd5b610a7d81604051806060016040528060268152602001610d4a602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b10816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c2e578082015181840152602081019050610c13565b50505050905090810190601f168015610c5b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582033a1abb1a2984a5157f51a1878402338bb76cc6fb666662cf61e999afeb2bcb064736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146101fd578063a457c2d714610255578063a9059cbb146102bb578063dd62ed3e1461032157610088565b8063095ea7b31461008d57806318160ddd146100f357806323b872dd146101115780633950935114610197575b600080fd5b6100d9600480360360408110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610399565b604051808215151515815260200191505060405180910390f35b6100fb6103b7565b6040518082815260200191505060405180910390f35b61017d6004803603606081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103c1565b604051808215151515815260200191505060405180910390f35b6101e3600480360360408110156101ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061049a565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561021357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054d565b6040518082815260200191505060405180910390f35b6102a16004803603604081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610595565b604051808215151515815260200191505060405180910390f35b610307600480360360408110156102d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610662565b604051808215151515815260200191505060405180910390f35b6103836004803603604081101561033757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610680565b6040518082815260200191505060405180910390f35b60006103ad6103a6610707565b848461070f565b6001905092915050565b6000600254905090565b60006103ce848484610906565b61048f846103da610707565b61048a85604051806060016040528060288152602001610d7060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610440610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b600190509392505050565b60006105436104a7610707565b8461053e85600160006104b8610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b61070f565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006106586105a2610707565b8461065385604051806060016040528060258152602001610de160259139600160006105cc610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b6001905092915050565b600061067661066f610707565b8484610906565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610795576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610dbd6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561081b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d286022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561098c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610d986025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610d056023913960400191505060405180910390fd5b610a7d81604051806060016040528060268152602001610d4a602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b10816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c2e578082015181840152602081019050610c13565b50505050905090810190601f168015610c5b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582033a1abb1a2984a5157f51a1878402338bb76cc6fb666662cf61e999afeb2bcb064736f6c63430005110032", - "sourceMap": "1268:6823:12:-;;;;;;;;;", - "deployedSourceMap": "1268:6823:12:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1268:6823:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:149:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3107:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3107:300:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3802:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3802:207:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:12;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4496:258;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4496:258:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:149;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;2638:4;2631:11;;2500:149;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3107:300::-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;:11;:19;3301:6;3289:19;;;;;;;;;;;;;;;:33;3309:12;:10;:12::i;:::-;3289:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3258:8;:121::i;:::-;3396:4;3389:11;;3107:300;;;;;:::o;3802:207::-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;3930:25;;;;;;;;;;;;;;;:34;3956:7;3930:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3898:8;:83::i;:::-;3998:4;3991:11;;3802:207;;;;:::o;1706:108::-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;4496:258::-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;4629:25;;;;;;;;;;;;;;;:34;4655:7;4629:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4597:8;:129::i;:::-;4743:4;4736:11;;4496:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;2230:132::-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;788:96:8:-;833:15;867:10;860:17;;788:96;:::o;7350:332:12:-;7460:1;7443:19;;:5;:19;;;;7435:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7540:1;7521:21;;:7;:21;;;;7513:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7622:6;7592:11;:18;7604:5;7592:18;;;;;;;;;;;;;;;:27;7611:7;7592:27;;;;;;;;;;;;;;;:36;;;;7659:7;7643:32;;7652:5;7643:32;;;7668:6;7643:32;;;;;;;;;;;;;;;;;;7350:332;;;:::o;5228:464::-;5343:1;5325:20;;:6;:20;;;;5317:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:1;5405:23;;:9;:23;;;;5397:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;:9;:17;5509:6;5499:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5479:9;:17;5489:6;5479:17;;;;;;;;;;;;;;;:91;;;;5603:32;5628:6;5603:9;:20;5613:9;5603:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;:55;;;;5667:9;5650:35;;5659:6;5650:35;;;5678:6;5650:35;;;;;;;;;;;;;;;;;;5228:464;;;:::o;1732:187:11:-;1818:7;1850:1;1845;:6;;1853:12;1837:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1837:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:9;1892:1;1888;:5;1876:17;;1911:1;1904:8;;;1732:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"../../GSN/Context.sol\";\nimport \"./IERC20.sol\";\nimport \"../../math/SafeMath.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20Mintable}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n using SafeMath for uint256;\n\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20};\n *\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for `sender`'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {\n _transfer(sender, recipient, amount);\n _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, \"ERC20: transfer amount exceeds allowance\"));\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, \"ERC20: decreased allowance below zero\"));\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _balances[sender] = _balances[sender].sub(amount, \"ERC20: transfer amount exceeds balance\");\n _balances[recipient] = _balances[recipient].add(amount);\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements\n *\n * - `to` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _totalSupply = _totalSupply.add(amount);\n _balances[account] = _balances[account].add(amount);\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _balances[account] = _balances[account].sub(amount, \"ERC20: burn amount exceeds balance\");\n _totalSupply = _totalSupply.sub(amount);\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n *\n * This is internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(address owner, address spender, uint256 amount) internal {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`.`amount` is then deducted\n * from the caller's allowance.\n *\n * See {_burn} and {_approve}.\n */\n function _burnFrom(address account, uint256 amount) internal {\n _burn(account, amount);\n _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, \"ERC20: burn amount exceeds allowance\"));\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 2718 - ] - }, - "id": 2719, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2315, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:12" - }, - { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "file": "../../GSN/Context.sol", - "id": 2316, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 1939, - "src": "25:31:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 2317, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 2816, - "src": "57:22:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 2318, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 2314, - "src": "80:33:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2319, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1938, - "src": "1286:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 2320, - "nodeType": "InheritanceSpecifier", - "src": "1286:7:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2321, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2815, - "src": "1295:6:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$2815", - "typeString": "contract IERC20" - } - }, - "id": 2322, - "nodeType": "InheritanceSpecifier", - "src": "1295:6:12" - } - ], - "contractDependencies": [ - 1938, - 2815 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20Mintable}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", - "fullyImplemented": true, - "id": 2718, - "linearizedBaseContracts": [ - 2718, - 2815, - 1938 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2325, - "libraryName": { - "contractScope": null, - "id": 2323, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2313, - "src": "1314:8:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$2313", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1308:27:12", - "typeName": { - "id": 2324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1327:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 2329, - "name": "_balances", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1341:46:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2328, - "keyType": { - "id": 2326, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1350:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1341:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1361:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2335, - "name": "_allowances", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1394:69:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 2334, - "keyType": { - "id": 2330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1403:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1394:49:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 2333, - "keyType": { - "id": 2331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1423:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1414:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1434:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2337, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1470:28:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1470:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 2344, - "nodeType": "Block", - "src": "1612:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2342, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "1629:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2341, - "id": 2343, - "nodeType": "Return", - "src": "1622:19:12" - } - ] - }, - "documentation": "@dev See {IERC20-totalSupply}.", - "id": 2345, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2338, - "nodeType": "ParameterList", - "parameters": [], - "src": "1579:2:12" - }, - "returnParameters": { - "id": 2341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2340, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2345, - "src": "1603:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1603:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1602:9:12" - }, - "scope": 2718, - "src": "1559:89:12", - "stateMutability": "view", - "superFunction": 2753, - "visibility": "public" - }, - { - "body": { - "id": 2356, - "nodeType": "Block", - "src": "1772:42:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2352, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "1789:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2354, - "indexExpression": { - "argumentTypes": null, - "id": 2353, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2347, - "src": "1799:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1789:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2351, - "id": 2355, - "nodeType": "Return", - "src": "1782:25:12" - } - ] - }, - "documentation": "@dev See {IERC20-balanceOf}.", - "id": 2357, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2347, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2357, - "src": "1725:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2346, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1725:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1724:17:12" - }, - "returnParameters": { - "id": 2351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2350, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2357, - "src": "1763:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1763:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1762:9:12" - }, - "scope": 2718, - "src": "1706:108:12", - "stateMutability": "view", - "superFunction": 2760, - "visibility": "public" - }, - { - "body": { - "id": 2375, - "nodeType": "Block", - "src": "2092:80:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2367, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "2112:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2112:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2369, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "2126:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2370, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "2137:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2366, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2559, - "src": "2102:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2102:42:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2372, - "nodeType": "ExpressionStatement", - "src": "2102:42:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2161:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2365, - "id": 2374, - "nodeType": "Return", - "src": "2154:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "id": 2376, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2359, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2035:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2358, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2035:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2361, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2054:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2054:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2034:35:12" - }, - "returnParameters": { - "id": 2365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2364, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2086:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2363, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2086:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2085:6:12" - }, - "scope": 2718, - "src": "2017:155:12", - "stateMutability": "nonpayable", - "superFunction": 2769, - "visibility": "public" - }, - { - "body": { - "id": 2391, - "nodeType": "Block", - "src": "2311:51:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2385, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "2328:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2387, - "indexExpression": { - "argumentTypes": null, - "id": 2386, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2378, - "src": "2340:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2389, - "indexExpression": { - "argumentTypes": null, - "id": 2388, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2380, - "src": "2347:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2384, - "id": 2390, - "nodeType": "Return", - "src": "2321:34:12" - } - ] - }, - "documentation": "@dev See {IERC20-allowance}.", - "id": 2392, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2378, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2249:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2377, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2249:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2380, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2264:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2264:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2248:32:12" - }, - "returnParameters": { - "id": 2384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2383, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2302:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2382, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2302:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2301:9:12" - }, - "scope": 2718, - "src": "2230:132:12", - "stateMutability": "view", - "superFunction": 2778, - "visibility": "public" - }, - { - "body": { - "id": 2410, - "nodeType": "Block", - "src": "2572:77:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2402, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "2591:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2591:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2404, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "2605:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2405, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2396, - "src": "2614:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2401, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "2582:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:39:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2407, - "nodeType": "ExpressionStatement", - "src": "2582:39:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2638:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2400, - "id": 2409, - "nodeType": "Return", - "src": "2631:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 2411, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2394, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2517:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2517:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2396, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2534:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2534:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2516:33:12" - }, - "returnParameters": { - "id": 2400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2399, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2566:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2398, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2566:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2565:6:12" - }, - "scope": 2718, - "src": "2500:149:12", - "stateMutability": "nonpayable", - "superFunction": 2787, - "visibility": "public" - }, - { - "body": { - "id": 2446, - "nodeType": "Block", - "src": "3202:205:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2423, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3222:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2424, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "3230:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2425, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "3241:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2422, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2559, - "src": "3212:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3212:36:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2427, - "nodeType": "ExpressionStatement", - "src": "3212:36:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2429, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3267:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2430, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3275:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3275:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2439, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "3327:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 2440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3335:42:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - }, - "value": "ERC20: transfer amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2432, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "3289:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2434, - "indexExpression": { - "argumentTypes": null, - "id": 2433, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3301:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:19:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2437, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2435, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3309:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3309:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:33:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "3289:37:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3289:89:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2428, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "3258:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3258:121:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2443, - "nodeType": "ExpressionStatement", - "src": "3258:121:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3396:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2421, - "id": 2445, - "nodeType": "Return", - "src": "3389:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for `sender`'s tokens of at least\n`amount`.", - "id": 2447, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2413, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3129:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3129:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2415, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3145:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3145:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2417, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3164:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3164:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3128:51:12" - }, - "returnParameters": { - "id": 2421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2420, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3196:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2419, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3196:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3195:6:12" - }, - "scope": 2718, - "src": "3107:300:12", - "stateMutability": "nonpayable", - "superFunction": 2798, - "visibility": "public" - }, - { - "body": { - "id": 2473, - "nodeType": "Block", - "src": "3888:121:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2457, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3907:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3907:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2459, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2449, - "src": "3921:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2467, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2451, - "src": "3969:10:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2460, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "3930:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2463, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2461, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3942:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3942:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2465, - "indexExpression": { - "argumentTypes": null, - "id": 2464, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2449, - "src": "3956:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "3930:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3930:50:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2456, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "3898:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3898:83:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2470, - "nodeType": "ExpressionStatement", - "src": "3898:83:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3998:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2455, - "id": 2472, - "nodeType": "Return", - "src": "3991:11:12" - } - ] - }, - "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 2474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2452, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2449, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3829:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2448, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3829:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2451, - "name": "addedValue", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3846:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3846:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3828:37:12" - }, - "returnParameters": { - "id": 2455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2454, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3882:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2453, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3882:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3881:6:12" - }, - "scope": 2718, - "src": "3802:207:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2501, - "nodeType": "Block", - "src": "4587:167:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2484, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "4606:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4606:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2486, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2476, - "src": "4620:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2494, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2478, - "src": "4668:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 2495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4685:39:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2487, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "4629:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2490, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2488, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "4641:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4641:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2492, - "indexExpression": { - "argumentTypes": null, - "id": 2491, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2476, - "src": "4655:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "4629:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4629:96:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2483, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "4597:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:129:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2498, - "nodeType": "ExpressionStatement", - "src": "4597:129:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4743:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2482, - "id": 2500, - "nodeType": "Return", - "src": "4736:11:12" - } - ] - }, - "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "id": 2502, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2476, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4523:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4523:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2478, - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4540:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4540:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4522:42:12" - }, - "returnParameters": { - "id": 2482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2481, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4581:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2480, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4581:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4580:6:12" - }, - "scope": 2718, - "src": "4496:258:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2558, - "nodeType": "Block", - "src": "5307:385:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2512, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5325:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5343:1:12", - "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": 2513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5335:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5335:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5325:20:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5347:39:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 2511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5317:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5317:70:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2519, - "nodeType": "ExpressionStatement", - "src": "5317:70:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2521, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5405:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5426:1:12", - "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": 2522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5418:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5418:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5405:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 2526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:37:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 2520, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5397:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5397:71:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2528, - "nodeType": "ExpressionStatement", - "src": "5397:71:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2529, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5479:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2531, - "indexExpression": { - "argumentTypes": null, - "id": 2530, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5489:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5479:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2536, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5521:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 2537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5529:40:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2532, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5499:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2534, - "indexExpression": { - "argumentTypes": null, - "id": 2533, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5509:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5499:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "5499:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:71:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5479:91:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2540, - "nodeType": "ExpressionStatement", - "src": "5479:91:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2541, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5580:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2543, - "indexExpression": { - "argumentTypes": null, - "id": 2542, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5590:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5580:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2548, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5628:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2544, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5603:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2546, - "indexExpression": { - "argumentTypes": null, - "id": 2545, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5613:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5603:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "5603:24:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5603:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5580:55:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2551, - "nodeType": "ExpressionStatement", - "src": "5580:55:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2553, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5659:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2554, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5667:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2555, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5678:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2552, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "5650:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5650:35:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2557, - "nodeType": "EmitStatement", - "src": "5645:40:12" - } - ] - }, - "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 2559, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2504, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5247:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2503, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5247:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2506, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5263:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5263:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2508, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5282:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5282:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5246:51:12" - }, - "returnParameters": { - "id": 2510, - "nodeType": "ParameterList", - "parameters": [], - "src": "5307:0:12" - }, - "scope": 2718, - "src": "5228:464:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2601, - "nodeType": "Block", - "src": "6019:245:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2567, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6037:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6056:1:12", - "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": 2568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6048:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6048:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6037:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6060:33:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 2566, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "6029:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6029:65:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2574, - "nodeType": "ExpressionStatement", - "src": "6029:65:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2575, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6105:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2578, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6137:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2576, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6120:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "6120:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6120:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6105:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2581, - "nodeType": "ExpressionStatement", - "src": "6105:39:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2582, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6154:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2584, - "indexExpression": { - "argumentTypes": null, - "id": 2583, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6164:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6154:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2589, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6198:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2585, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6175:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2587, - "indexExpression": { - "argumentTypes": null, - "id": 2586, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6185:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6175:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "6175:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6175:30:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6154:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2592, - "nodeType": "ExpressionStatement", - "src": "6154:51:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6237:1:12", - "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": 2594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6229:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6229:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2597, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6241:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2598, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6250:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2593, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "6220:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6220:37:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2600, - "nodeType": "EmitStatement", - "src": "6215:42:12" - } - ] - }, - "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address.", - "id": 2602, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2564, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2561, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2602, - "src": "5977:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5977:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2563, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2602, - "src": "5994:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5994:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5976:33:12" - }, - "returnParameters": { - "id": 2565, - "nodeType": "ParameterList", - "parameters": [], - "src": "6019:0:12" - }, - "scope": 2718, - "src": "5962:302:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2645, - "nodeType": "Block", - "src": "6640:285:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2610, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6658:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6677:1:12", - "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": 2611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6669:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6669:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6658:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6681:35:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 2609, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "6650:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6650:67:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2617, - "nodeType": "ExpressionStatement", - "src": "6650:67:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2618, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6728:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2620, - "indexExpression": { - "argumentTypes": null, - "id": 2619, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6738:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6728:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2625, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6772:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 2626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6780:36:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2621, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6749:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2623, - "indexExpression": { - "argumentTypes": null, - "id": 2622, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6759:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6749:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "6749:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6749:68:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6728:89:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2629, - "nodeType": "ExpressionStatement", - "src": "6728:89:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2630, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6827:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2633, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6859:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2631, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6842:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2169, - "src": "6842:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6842:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6827:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2636, - "nodeType": "ExpressionStatement", - "src": "6827:39:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2638, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6890:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6907:1:12", - "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": 2639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6899:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6899:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2642, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6911:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2637, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "6881:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:37:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2644, - "nodeType": "EmitStatement", - "src": "6876:42:12" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 2646, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2604, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "6598:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2603, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6598:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2606, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "6615:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6615:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6597:33:12" - }, - "returnParameters": { - "id": 2608, - "nodeType": "ParameterList", - "parameters": [], - "src": "6640:0:12" - }, - "scope": 2718, - "src": "6583:342:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2687, - "nodeType": "Block", - "src": "7425:257:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2656, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7443:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7460:1:12", - "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": 2657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7452:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7452:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7443:19:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 2661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7464:38:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 2655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7435:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7435:68:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2663, - "nodeType": "ExpressionStatement", - "src": "7435:68:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2665, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7521:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2667, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7540:1:12", - "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": 2666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7532:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7532:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7521:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 2670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7544:36:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 2664, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7513:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7513:68:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2672, - "nodeType": "ExpressionStatement", - "src": "7513:68:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2673, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "7592:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2676, - "indexExpression": { - "argumentTypes": null, - "id": 2674, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7604:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7592:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2677, - "indexExpression": { - "argumentTypes": null, - "id": 2675, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7611:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7592:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2678, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7622:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7592:36:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2680, - "nodeType": "ExpressionStatement", - "src": "7592:36:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2682, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7652:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2683, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7659:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2684, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7668:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2681, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2814, - "src": "7643:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7643:32:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2686, - "nodeType": "EmitStatement", - "src": "7638:37:12" - } - ] - }, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n * This is internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 2688, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2648, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7368:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2647, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7368:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2650, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7383:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7383:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2652, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7400:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7400:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7367:48:12" - }, - "returnParameters": { - "id": 2654, - "nodeType": "ParameterList", - "parameters": [], - "src": "7425:0:12" - }, - "scope": 2718, - "src": "7350:332:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2716, - "nodeType": "Block", - "src": "7921:168:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2696, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "7937:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2697, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "7946:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2695, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2646, - "src": "7931:5:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7931:22:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2699, - "nodeType": "ExpressionStatement", - "src": "7931:22:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2701, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "7972:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2702, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "7981:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7981:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2711, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "8034:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8042:38:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - }, - "value": "ERC20: burn amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2704, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "7995:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2706, - "indexExpression": { - "argumentTypes": null, - "id": 2705, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "8007:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:20:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2709, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2707, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "8016:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8016:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "7995:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7995:86:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2700, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "7963:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7963:119:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2715, - "nodeType": "ExpressionStatement", - "src": "7963:119:12" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`.`amount` is then deducted\nfrom the caller's allowance.\n * See {_burn} and {_approve}.", - "id": 2717, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2690, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2717, - "src": "7879:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2689, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7879:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2692, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2717, - "src": "7896:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7896:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7878:33:12" - }, - "returnParameters": { - "id": 2694, - "nodeType": "ParameterList", - "parameters": [], - "src": "7921:0:12" - }, - "scope": 2718, - "src": "7860:229:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2719, - "src": "1268:6823:12" - } - ], - "src": "0:8092:12" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 2718 - ] - }, - "id": 2719, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2315, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:12" - }, - { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "file": "../../GSN/Context.sol", - "id": 2316, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 1939, - "src": "25:31:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 2317, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 2816, - "src": "57:22:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 2318, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 2314, - "src": "80:33:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2319, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1938, - "src": "1286:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 2320, - "nodeType": "InheritanceSpecifier", - "src": "1286:7:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2321, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2815, - "src": "1295:6:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$2815", - "typeString": "contract IERC20" - } - }, - "id": 2322, - "nodeType": "InheritanceSpecifier", - "src": "1295:6:12" - } - ], - "contractDependencies": [ - 1938, - 2815 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20Mintable}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", - "fullyImplemented": true, - "id": 2718, - "linearizedBaseContracts": [ - 2718, - 2815, - 1938 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2325, - "libraryName": { - "contractScope": null, - "id": 2323, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2313, - "src": "1314:8:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$2313", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1308:27:12", - "typeName": { - "id": 2324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1327:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 2329, - "name": "_balances", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1341:46:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2328, - "keyType": { - "id": 2326, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1350:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1341:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1361:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2335, - "name": "_allowances", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1394:69:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 2334, - "keyType": { - "id": 2330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1403:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1394:49:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 2333, - "keyType": { - "id": 2331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1423:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1414:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1434:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2337, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1470:28:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1470:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 2344, - "nodeType": "Block", - "src": "1612:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2342, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "1629:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2341, - "id": 2343, - "nodeType": "Return", - "src": "1622:19:12" - } - ] - }, - "documentation": "@dev See {IERC20-totalSupply}.", - "id": 2345, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2338, - "nodeType": "ParameterList", - "parameters": [], - "src": "1579:2:12" - }, - "returnParameters": { - "id": 2341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2340, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2345, - "src": "1603:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1603:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1602:9:12" - }, - "scope": 2718, - "src": "1559:89:12", - "stateMutability": "view", - "superFunction": 2753, - "visibility": "public" - }, - { - "body": { - "id": 2356, - "nodeType": "Block", - "src": "1772:42:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2352, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "1789:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2354, - "indexExpression": { - "argumentTypes": null, - "id": 2353, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2347, - "src": "1799:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1789:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2351, - "id": 2355, - "nodeType": "Return", - "src": "1782:25:12" - } - ] - }, - "documentation": "@dev See {IERC20-balanceOf}.", - "id": 2357, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2347, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2357, - "src": "1725:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2346, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1725:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1724:17:12" - }, - "returnParameters": { - "id": 2351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2350, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2357, - "src": "1763:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1763:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1762:9:12" - }, - "scope": 2718, - "src": "1706:108:12", - "stateMutability": "view", - "superFunction": 2760, - "visibility": "public" - }, - { - "body": { - "id": 2375, - "nodeType": "Block", - "src": "2092:80:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2367, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "2112:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2112:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2369, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "2126:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2370, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "2137:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2366, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2559, - "src": "2102:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2102:42:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2372, - "nodeType": "ExpressionStatement", - "src": "2102:42:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2161:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2365, - "id": 2374, - "nodeType": "Return", - "src": "2154:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "id": 2376, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2359, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2035:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2358, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2035:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2361, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2054:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2054:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2034:35:12" - }, - "returnParameters": { - "id": 2365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2364, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2086:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2363, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2086:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2085:6:12" - }, - "scope": 2718, - "src": "2017:155:12", - "stateMutability": "nonpayable", - "superFunction": 2769, - "visibility": "public" - }, - { - "body": { - "id": 2391, - "nodeType": "Block", - "src": "2311:51:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2385, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "2328:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2387, - "indexExpression": { - "argumentTypes": null, - "id": 2386, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2378, - "src": "2340:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2389, - "indexExpression": { - "argumentTypes": null, - "id": 2388, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2380, - "src": "2347:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2384, - "id": 2390, - "nodeType": "Return", - "src": "2321:34:12" - } - ] - }, - "documentation": "@dev See {IERC20-allowance}.", - "id": 2392, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2378, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2249:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2377, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2249:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2380, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2264:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2264:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2248:32:12" - }, - "returnParameters": { - "id": 2384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2383, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2302:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2382, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2302:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2301:9:12" - }, - "scope": 2718, - "src": "2230:132:12", - "stateMutability": "view", - "superFunction": 2778, - "visibility": "public" - }, - { - "body": { - "id": 2410, - "nodeType": "Block", - "src": "2572:77:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2402, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "2591:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2591:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2404, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "2605:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2405, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2396, - "src": "2614:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2401, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "2582:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:39:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2407, - "nodeType": "ExpressionStatement", - "src": "2582:39:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2638:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2400, - "id": 2409, - "nodeType": "Return", - "src": "2631:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 2411, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2394, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2517:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2517:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2396, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2534:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2534:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2516:33:12" - }, - "returnParameters": { - "id": 2400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2399, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2566:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2398, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2566:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2565:6:12" - }, - "scope": 2718, - "src": "2500:149:12", - "stateMutability": "nonpayable", - "superFunction": 2787, - "visibility": "public" - }, - { - "body": { - "id": 2446, - "nodeType": "Block", - "src": "3202:205:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2423, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3222:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2424, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "3230:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2425, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "3241:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2422, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2559, - "src": "3212:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3212:36:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2427, - "nodeType": "ExpressionStatement", - "src": "3212:36:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2429, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3267:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2430, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3275:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3275:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2439, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "3327:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 2440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3335:42:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - }, - "value": "ERC20: transfer amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2432, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "3289:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2434, - "indexExpression": { - "argumentTypes": null, - "id": 2433, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3301:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:19:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2437, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2435, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3309:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3309:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:33:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "3289:37:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3289:89:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2428, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "3258:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3258:121:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2443, - "nodeType": "ExpressionStatement", - "src": "3258:121:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3396:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2421, - "id": 2445, - "nodeType": "Return", - "src": "3389:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for `sender`'s tokens of at least\n`amount`.", - "id": 2447, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2413, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3129:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3129:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2415, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3145:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3145:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2417, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3164:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3164:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3128:51:12" - }, - "returnParameters": { - "id": 2421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2420, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3196:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2419, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3196:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3195:6:12" - }, - "scope": 2718, - "src": "3107:300:12", - "stateMutability": "nonpayable", - "superFunction": 2798, - "visibility": "public" - }, - { - "body": { - "id": 2473, - "nodeType": "Block", - "src": "3888:121:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2457, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3907:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3907:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2459, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2449, - "src": "3921:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2467, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2451, - "src": "3969:10:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2460, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "3930:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2463, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2461, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3942:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3942:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2465, - "indexExpression": { - "argumentTypes": null, - "id": 2464, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2449, - "src": "3956:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "3930:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3930:50:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2456, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "3898:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3898:83:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2470, - "nodeType": "ExpressionStatement", - "src": "3898:83:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3998:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2455, - "id": 2472, - "nodeType": "Return", - "src": "3991:11:12" - } - ] - }, - "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 2474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2452, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2449, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3829:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2448, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3829:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2451, - "name": "addedValue", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3846:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3846:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3828:37:12" - }, - "returnParameters": { - "id": 2455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2454, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3882:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2453, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3882:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3881:6:12" - }, - "scope": 2718, - "src": "3802:207:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2501, - "nodeType": "Block", - "src": "4587:167:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2484, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "4606:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4606:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2486, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2476, - "src": "4620:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2494, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2478, - "src": "4668:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 2495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4685:39:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2487, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "4629:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2490, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2488, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "4641:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4641:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2492, - "indexExpression": { - "argumentTypes": null, - "id": 2491, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2476, - "src": "4655:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "4629:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4629:96:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2483, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "4597:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:129:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2498, - "nodeType": "ExpressionStatement", - "src": "4597:129:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4743:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2482, - "id": 2500, - "nodeType": "Return", - "src": "4736:11:12" - } - ] - }, - "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "id": 2502, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2476, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4523:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4523:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2478, - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4540:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4540:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4522:42:12" - }, - "returnParameters": { - "id": 2482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2481, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4581:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2480, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4581:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4580:6:12" - }, - "scope": 2718, - "src": "4496:258:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2558, - "nodeType": "Block", - "src": "5307:385:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2512, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5325:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5343:1:12", - "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": 2513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5335:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5335:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5325:20:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5347:39:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 2511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5317:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5317:70:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2519, - "nodeType": "ExpressionStatement", - "src": "5317:70:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2521, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5405:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5426:1:12", - "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": 2522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5418:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5418:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5405:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 2526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:37:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 2520, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5397:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5397:71:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2528, - "nodeType": "ExpressionStatement", - "src": "5397:71:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2529, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5479:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2531, - "indexExpression": { - "argumentTypes": null, - "id": 2530, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5489:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5479:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2536, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5521:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 2537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5529:40:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2532, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5499:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2534, - "indexExpression": { - "argumentTypes": null, - "id": 2533, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5509:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5499:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "5499:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:71:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5479:91:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2540, - "nodeType": "ExpressionStatement", - "src": "5479:91:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2541, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5580:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2543, - "indexExpression": { - "argumentTypes": null, - "id": 2542, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5590:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5580:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2548, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5628:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2544, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5603:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2546, - "indexExpression": { - "argumentTypes": null, - "id": 2545, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5613:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5603:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "5603:24:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5603:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5580:55:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2551, - "nodeType": "ExpressionStatement", - "src": "5580:55:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2553, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5659:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2554, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5667:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2555, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5678:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2552, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "5650:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5650:35:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2557, - "nodeType": "EmitStatement", - "src": "5645:40:12" - } - ] - }, - "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 2559, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2504, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5247:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2503, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5247:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2506, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5263:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5263:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2508, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5282:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5282:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5246:51:12" - }, - "returnParameters": { - "id": 2510, - "nodeType": "ParameterList", - "parameters": [], - "src": "5307:0:12" - }, - "scope": 2718, - "src": "5228:464:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2601, - "nodeType": "Block", - "src": "6019:245:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2567, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6037:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6056:1:12", - "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": 2568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6048:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6048:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6037:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6060:33:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 2566, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "6029:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6029:65:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2574, - "nodeType": "ExpressionStatement", - "src": "6029:65:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2575, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6105:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2578, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6137:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2576, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6120:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "6120:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6120:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6105:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2581, - "nodeType": "ExpressionStatement", - "src": "6105:39:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2582, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6154:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2584, - "indexExpression": { - "argumentTypes": null, - "id": 2583, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6164:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6154:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2589, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6198:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2585, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6175:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2587, - "indexExpression": { - "argumentTypes": null, - "id": 2586, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6185:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6175:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "6175:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6175:30:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6154:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2592, - "nodeType": "ExpressionStatement", - "src": "6154:51:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6237:1:12", - "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": 2594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6229:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6229:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2597, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6241:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2598, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6250:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2593, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "6220:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6220:37:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2600, - "nodeType": "EmitStatement", - "src": "6215:42:12" - } - ] - }, - "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address.", - "id": 2602, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2564, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2561, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2602, - "src": "5977:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5977:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2563, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2602, - "src": "5994:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5994:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5976:33:12" - }, - "returnParameters": { - "id": 2565, - "nodeType": "ParameterList", - "parameters": [], - "src": "6019:0:12" - }, - "scope": 2718, - "src": "5962:302:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2645, - "nodeType": "Block", - "src": "6640:285:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2610, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6658:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6677:1:12", - "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": 2611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6669:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6669:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6658:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6681:35:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 2609, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "6650:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6650:67:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2617, - "nodeType": "ExpressionStatement", - "src": "6650:67:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2618, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6728:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2620, - "indexExpression": { - "argumentTypes": null, - "id": 2619, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6738:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6728:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2625, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6772:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 2626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6780:36:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2621, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6749:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2623, - "indexExpression": { - "argumentTypes": null, - "id": 2622, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6759:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6749:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "6749:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6749:68:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6728:89:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2629, - "nodeType": "ExpressionStatement", - "src": "6728:89:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2630, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6827:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2633, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6859:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2631, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6842:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2169, - "src": "6842:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6842:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6827:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2636, - "nodeType": "ExpressionStatement", - "src": "6827:39:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2638, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6890:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6907:1:12", - "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": 2639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6899:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6899:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2642, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6911:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2637, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "6881:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:37:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2644, - "nodeType": "EmitStatement", - "src": "6876:42:12" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 2646, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2604, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "6598:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2603, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6598:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2606, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "6615:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6615:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6597:33:12" - }, - "returnParameters": { - "id": 2608, - "nodeType": "ParameterList", - "parameters": [], - "src": "6640:0:12" - }, - "scope": 2718, - "src": "6583:342:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2687, - "nodeType": "Block", - "src": "7425:257:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2656, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7443:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7460:1:12", - "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": 2657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7452:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7452:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7443:19:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 2661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7464:38:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 2655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7435:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7435:68:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2663, - "nodeType": "ExpressionStatement", - "src": "7435:68:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2665, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7521:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2667, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7540:1:12", - "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": 2666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7532:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7532:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7521:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 2670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7544:36:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 2664, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7513:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7513:68:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2672, - "nodeType": "ExpressionStatement", - "src": "7513:68:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2673, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "7592:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2676, - "indexExpression": { - "argumentTypes": null, - "id": 2674, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7604:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7592:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2677, - "indexExpression": { - "argumentTypes": null, - "id": 2675, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7611:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7592:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2678, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7622:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7592:36:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2680, - "nodeType": "ExpressionStatement", - "src": "7592:36:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2682, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7652:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2683, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7659:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2684, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7668:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2681, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2814, - "src": "7643:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7643:32:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2686, - "nodeType": "EmitStatement", - "src": "7638:37:12" - } - ] - }, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n * This is internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 2688, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2648, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7368:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2647, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7368:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2650, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7383:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7383:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2652, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7400:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7400:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7367:48:12" - }, - "returnParameters": { - "id": 2654, - "nodeType": "ParameterList", - "parameters": [], - "src": "7425:0:12" - }, - "scope": 2718, - "src": "7350:332:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2716, - "nodeType": "Block", - "src": "7921:168:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2696, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "7937:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2697, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "7946:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2695, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2646, - "src": "7931:5:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7931:22:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2699, - "nodeType": "ExpressionStatement", - "src": "7931:22:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2701, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "7972:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2702, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "7981:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7981:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2711, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "8034:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8042:38:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - }, - "value": "ERC20: burn amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2704, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "7995:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2706, - "indexExpression": { - "argumentTypes": null, - "id": 2705, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "8007:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:20:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2709, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2707, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "8016:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8016:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "7995:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7995:86:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2700, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "7963:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7963:119:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2715, - "nodeType": "ExpressionStatement", - "src": "7963:119:12" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`.`amount` is then deducted\nfrom the caller's allowance.\n * See {_burn} and {_approve}.", - "id": 2717, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2690, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2717, - "src": "7879:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2689, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7879:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2692, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2717, - "src": "7896:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7896:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7878:33:12" - }, - "returnParameters": { - "id": 2694, - "nodeType": "ParameterList", - "parameters": [], - "src": "7921:0:12" - }, - "scope": 2718, - "src": "7860:229:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2719, - "src": "1268:6823:12" - } - ], - "src": "0:8092:12" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.611Z", - "devdoc": { - "details": "Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20Mintable}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC20Mintable.json b/packages/proxyIdentity/build/contracts/ERC20Mintable.json deleted file mode 100644 index 6051eaa1..00000000 --- a/packages/proxyIdentity/build/contracts/ERC20Mintable.json +++ /dev/null @@ -1,1074 +0,0 @@ -{ - "contractName": "ERC20Mintable", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isMinter", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that adds a set of accounts with the {MinterRole}, which have permission to mint (create) new tokens as they see fit. * At construction, the deployer of the contract is the only minter.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"details\":\"See {ERC20-_mint}. * Requirements: * - the caller must have the {MinterRole}.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\":\"ERC20Mintable\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]},\"@openzeppelin/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzz-raw://badf338a5e22c8658c01fe2ce89b487d9dbf6d2d9d5eb49df7415383e2498765\",\"dweb:/ipfs/QmP5aMkvFwMJyuQjKE8ADh5tkWYqonb4KjgkAjgYEVVFAv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb15af804e2bc97db51e4e103f13de9fe13f87e6b835d7a88c897966c0e58506e\",\"urls\":[\"bzz-raw://1e8cff8437557fc915a3bed968fcd8f2df9809599e665ef69c2c9ce628548055\",\"dweb:/ipfs/QmP5spYP8vs2jvLF8zNrXUbqB79hMsoEvMHiLcBxerWKcm\"]},\"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzz-raw://c44ae0ad1bce141c33b962f8b4e9228bdf8df36c8ac363b4f0bf9498b8bfc32a\",\"dweb:/ipfs/QmcSBRdFwVvy2wFZrBwo5cvqNP4UHh9Eyzf8jnxBgnPqfe\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x608060405262000024620000186200002a60201b60201c565b6200003260201b60201c565b62000257565b600033905090565b6200004d8160036200009360201b620012a81790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620000a582826200017760201b60201c565b1562000119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000200576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620018506022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6115e980620002676000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146102e7578063986502751461032b578063a457c2d714610335578063a9059cbb1461039b578063aa271e1a14610401578063dd62ed3e1461045d576100b4565b8063095ea7b3146100b957806318160ddd1461011f57806323b872dd1461013d57806339509351146101c357806340c10f191461022957806370a082311461028f575b600080fd5b610105600480360360408110156100cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d5565b604051808215151515815260200191505060405180910390f35b6101276104f3565b6040518082815260200191505060405180910390f35b6101a96004803603606081101561015357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104fd565b604051808215151515815260200191505060405180910390f35b61020f600480360360408110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d6565b604051808215151515815260200191505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610689565b604051808215151515815260200191505060405180910390f35b6102d1600480360360208110156102a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610704565b6040518082815260200191505060405180910390f35b610329600480360360208110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061074c565b005b6103336107bd565b005b6103816004803603604081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107cf565b604051808215151515815260200191505060405180910390f35b6103e7600480360360408110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061089c565b604051808215151515815260200191505060405180910390f35b6104436004803603602081101561041757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ba565b604051808215151515815260200191505060405180910390f35b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d7565b6040518082815260200191505060405180910390f35b60006104e96104e261095e565b8484610966565b6001905092915050565b6000600254905090565b600061050a848484610b5d565b6105cb8461051661095e565b6105c6856040518060600160405280602881526020016114fd60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057c61095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b600190509392505050565b600061067f6105e361095e565b8461067a85600160006105f461095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b610966565b6001905092915050565b600061069b61069661095e565b6108ba565b6106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6106fa8383610f5b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075c61075761095e565b6108ba565b6107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6107ba81611116565b50565b6107cd6107c861095e565b611170565b565b60006108926107dc61095e565b8461088d85604051806060016040528060258152602001611590602591396001600061080661095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b6001905092915050565b60006108b06108a961095e565b8484610b5d565b6001905092915050565b60006108d08260036111ca90919063ffffffff16565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061156c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114646022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610be3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806115476025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806114416023913960400191505060405180910390fd5b610cd481604051806060016040528060268152602001611486602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d67816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610ec0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e85578082015181840152602081019050610e6a565b50505050905090810190601f168015610eb25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610f51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61101381600254610ed390919063ffffffff16565b60028190555061106a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61112a8160036112a890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61118481600361138390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115256022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6112b282826111ca565b15611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61138d82826111ca565b6113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114dc6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820962d40b18658ea85ba36a7883e6f2a6b6c8a222f9d07c13d7741a7bc6ed2512e64736f6c63430005110032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146102e7578063986502751461032b578063a457c2d714610335578063a9059cbb1461039b578063aa271e1a14610401578063dd62ed3e1461045d576100b4565b8063095ea7b3146100b957806318160ddd1461011f57806323b872dd1461013d57806339509351146101c357806340c10f191461022957806370a082311461028f575b600080fd5b610105600480360360408110156100cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d5565b604051808215151515815260200191505060405180910390f35b6101276104f3565b6040518082815260200191505060405180910390f35b6101a96004803603606081101561015357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104fd565b604051808215151515815260200191505060405180910390f35b61020f600480360360408110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d6565b604051808215151515815260200191505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610689565b604051808215151515815260200191505060405180910390f35b6102d1600480360360208110156102a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610704565b6040518082815260200191505060405180910390f35b610329600480360360208110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061074c565b005b6103336107bd565b005b6103816004803603604081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107cf565b604051808215151515815260200191505060405180910390f35b6103e7600480360360408110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061089c565b604051808215151515815260200191505060405180910390f35b6104436004803603602081101561041757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ba565b604051808215151515815260200191505060405180910390f35b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d7565b6040518082815260200191505060405180910390f35b60006104e96104e261095e565b8484610966565b6001905092915050565b6000600254905090565b600061050a848484610b5d565b6105cb8461051661095e565b6105c6856040518060600160405280602881526020016114fd60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057c61095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b600190509392505050565b600061067f6105e361095e565b8461067a85600160006105f461095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b610966565b6001905092915050565b600061069b61069661095e565b6108ba565b6106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6106fa8383610f5b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075c61075761095e565b6108ba565b6107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6107ba81611116565b50565b6107cd6107c861095e565b611170565b565b60006108926107dc61095e565b8461088d85604051806060016040528060258152602001611590602591396001600061080661095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b6001905092915050565b60006108b06108a961095e565b8484610b5d565b6001905092915050565b60006108d08260036111ca90919063ffffffff16565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061156c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114646022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610be3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806115476025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806114416023913960400191505060405180910390fd5b610cd481604051806060016040528060268152602001611486602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d67816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610ec0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e85578082015181840152602081019050610e6a565b50505050905090810190601f168015610eb25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610f51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61101381600254610ed390919063ffffffff16565b60028190555061106a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61112a8160036112a890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61118481600361138390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115256022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6112b282826111ca565b15611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61138d82826111ca565b6113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114dc6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820962d40b18658ea85ba36a7883e6f2a6b6c8a222f9d07c13d7741a7bc6ed2512e64736f6c63430005110032", - "sourceMap": "322:322:13:-;;;318:24:10;329:12;:10;;;:12;;:::i;:::-;318:10;;;:24;;:::i;:::-;322:322:13;;788:96:8;833:15;867:10;860:17;;788:96;:::o;786:119:10:-;842:21;855:7;842:8;:12;;;;;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;260:175:9:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;322:322:13:-;;;;;;;", - "deployedSourceMap": "322:322:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;322:322:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:149:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3107:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3107:300:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3802:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3802:207:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;502:140:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;502:140:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:12;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;607:90:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;607:90:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;703:77;;;:::i;:::-;;4496:258:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4496:258:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;494:107:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;494:107:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:149;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;2638:4;2631:11;;2500:149;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3107:300::-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;:11;:19;3301:6;3289:19;;;;;;;;;;;;;;;:33;3309:12;:10;:12::i;:::-;3289:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3258:8;:121::i;:::-;3396:4;3389:11;;3107:300;;;;;:::o;3802:207::-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;3930:25;;;;;;;;;;;;;;;:34;3956:7;3930:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3898:8;:83::i;:::-;3998:4;3991:11;;3802:207;;;;:::o;502:140:13:-;576:4;395:22:10;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;592:22:13;598:7;607:6;592:5;:22::i;:::-;631:4;624:11;;502:140;;;;:::o;1706:108:12:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;607:90:10:-;395:22;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;703:77::-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;4496:258:12:-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;4629:25;;;;;;;;;;;;;;;:34;4655:7;4629:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4597:8;:129::i;:::-;4743:4;4736:11;;4496:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;494:107:10:-;550:4;573:21;586:7;573:8;:12;;:21;;;;:::i;:::-;566:28;;494:107;;;:::o;2230:132:12:-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;788:96:8:-;833:15;867:10;860:17;;788:96;:::o;7350:332:12:-;7460:1;7443:19;;:5;:19;;;;7435:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7540:1;7521:21;;:7;:21;;;;7513:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7622:6;7592:11;:18;7604:5;7592:18;;;;;;;;;;;;;;;:27;7611:7;7592:27;;;;;;;;;;;;;;;:36;;;;7659:7;7643:32;;7652:5;7643:32;;;7668:6;7643:32;;;;;;;;;;;;;;;;;;7350:332;;;:::o;5228:464::-;5343:1;5325:20;;:6;:20;;;;5317:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:1;5405:23;;:9;:23;;;;5397:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;:9;:17;5509:6;5499:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5479:9;:17;5489:6;5479:17;;;;;;;;;;;;;;;:91;;;;5603:32;5628:6;5603:9;:20;5613:9;5603:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;:55;;;;5667:9;5650:35;;5659:6;5650:35;;;5678:6;5650:35;;;;;;;;;;;;;;;;;;5228:464;;;:::o;1732:187:11:-;1818:7;1850:1;1845;:6;;1853:12;1837:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1837:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:9;1892:1;1888;:5;1876:17;;1911:1;1904:8;;;1732:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;5962:302:12:-;6056:1;6037:21;;:7;:21;;;;6029:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:24;6137:6;6120:12;;:16;;:24;;;;:::i;:::-;6105:12;:39;;;;6175:30;6198:6;6175:9;:18;6185:7;6175:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6154:9;:18;6164:7;6154:18;;;;;;;;;;;;;;;:51;;;;6241:7;6220:37;;6237:1;6220:37;;;6250:6;6220:37;;;;;;;;;;;;;;;;;;5962:302;;:::o;786:119:10:-;842:21;855:7;842:8;:12;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;911:127::-;970:24;986:7;970:8;:15;;:24;;;;:::i;:::-;1023:7;1009:22;;;;;;;;;;;;911:127;:::o;779:200:9:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;260:175::-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"./ERC20.sol\";\nimport \"../../access/roles/MinterRole.sol\";\n\n/**\n * @dev Extension of {ERC20} that adds a set of accounts with the {MinterRole},\n * which have permission to mint (create) new tokens as they see fit.\n *\n * At construction, the deployer of the contract is the only minter.\n */\ncontract ERC20Mintable is ERC20, MinterRole {\n /**\n * @dev See {ERC20-_mint}.\n *\n * Requirements:\n *\n * - the caller must have the {MinterRole}.\n */\n function mint(address account, uint256 amount) public onlyMinter returns (bool) {\n _mint(account, amount);\n return true;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "exportedSymbols": { - "ERC20Mintable": [ - 2746 - ] - }, - "id": 2747, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2720, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:13" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "./ERC20.sol", - "id": 2721, - "nodeType": "ImportDirective", - "scope": 2747, - "sourceUnit": 2719, - "src": "25:21:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", - "file": "../../access/roles/MinterRole.sol", - "id": 2722, - "nodeType": "ImportDirective", - "scope": 2747, - "sourceUnit": 2127, - "src": "47:43:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2723, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2718, - "src": "348:5:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2718", - "typeString": "contract ERC20" - } - }, - "id": 2724, - "nodeType": "InheritanceSpecifier", - "src": "348:5:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2725, - "name": "MinterRole", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2126, - "src": "355:10:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MinterRole_$2126", - "typeString": "contract MinterRole" - } - }, - "id": 2726, - "nodeType": "InheritanceSpecifier", - "src": "355:10:13" - } - ], - "contractDependencies": [ - 1938, - 2126, - 2718, - 2815 - ], - "contractKind": "contract", - "documentation": "@dev Extension of {ERC20} that adds a set of accounts with the {MinterRole},\nwhich have permission to mint (create) new tokens as they see fit.\n * At construction, the deployer of the contract is the only minter.", - "fullyImplemented": true, - "id": 2746, - "linearizedBaseContracts": [ - 2746, - 2126, - 2718, - 2815, - 1938 - ], - "name": "ERC20Mintable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2744, - "nodeType": "Block", - "src": "582:60:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2738, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2728, - "src": "598:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2730, - "src": "607:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2737, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "592:5:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "592:22:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2741, - "nodeType": "ExpressionStatement", - "src": "592:22:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "631:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2736, - "id": 2743, - "nodeType": "Return", - "src": "624:11:13" - } - ] - }, - "documentation": "@dev See {ERC20-_mint}.\n * Requirements:\n * - the caller must have the {MinterRole}.", - "id": 2745, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2733, - "modifierName": { - "argumentTypes": null, - "id": 2732, - "name": "onlyMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "556:10:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "556:10:13" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2731, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2728, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "516:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2727, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "516:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2730, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "533:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "533:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "515:33:13" - }, - "returnParameters": { - "id": 2736, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2735, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "576:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2734, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "576:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "575:6:13" - }, - "scope": 2746, - "src": "502:140:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2747, - "src": "322:322:13" - } - ], - "src": "0:645:13" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "exportedSymbols": { - "ERC20Mintable": [ - 2746 - ] - }, - "id": 2747, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2720, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:13" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "./ERC20.sol", - "id": 2721, - "nodeType": "ImportDirective", - "scope": 2747, - "sourceUnit": 2719, - "src": "25:21:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", - "file": "../../access/roles/MinterRole.sol", - "id": 2722, - "nodeType": "ImportDirective", - "scope": 2747, - "sourceUnit": 2127, - "src": "47:43:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2723, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2718, - "src": "348:5:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2718", - "typeString": "contract ERC20" - } - }, - "id": 2724, - "nodeType": "InheritanceSpecifier", - "src": "348:5:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2725, - "name": "MinterRole", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2126, - "src": "355:10:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MinterRole_$2126", - "typeString": "contract MinterRole" - } - }, - "id": 2726, - "nodeType": "InheritanceSpecifier", - "src": "355:10:13" - } - ], - "contractDependencies": [ - 1938, - 2126, - 2718, - 2815 - ], - "contractKind": "contract", - "documentation": "@dev Extension of {ERC20} that adds a set of accounts with the {MinterRole},\nwhich have permission to mint (create) new tokens as they see fit.\n * At construction, the deployer of the contract is the only minter.", - "fullyImplemented": true, - "id": 2746, - "linearizedBaseContracts": [ - 2746, - 2126, - 2718, - 2815, - 1938 - ], - "name": "ERC20Mintable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2744, - "nodeType": "Block", - "src": "582:60:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2738, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2728, - "src": "598:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2730, - "src": "607:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2737, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "592:5:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "592:22:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2741, - "nodeType": "ExpressionStatement", - "src": "592:22:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "631:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2736, - "id": 2743, - "nodeType": "Return", - "src": "624:11:13" - } - ] - }, - "documentation": "@dev See {ERC20-_mint}.\n * Requirements:\n * - the caller must have the {MinterRole}.", - "id": 2745, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2733, - "modifierName": { - "argumentTypes": null, - "id": 2732, - "name": "onlyMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "556:10:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "556:10:13" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2731, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2728, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "516:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2727, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "516:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2730, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "533:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "533:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "515:33:13" - }, - "returnParameters": { - "id": 2736, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2735, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "576:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2734, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "576:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "575:6:13" - }, - "scope": 2746, - "src": "502:140:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2747, - "src": "322:322:13" - } - ], - "src": "0:645:13" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.615Z", - "devdoc": { - "details": "Extension of {ERC20} that adds a set of accounts with the {MinterRole}, which have permission to mint (create) new tokens as they see fit. * At construction, the deployer of the contract is the only minter.", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "mint(address,uint256)": { - "details": "See {ERC20-_mint}. * Requirements: * - the caller must have the {MinterRole}." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC223Mintable.json b/packages/proxyIdentity/build/contracts/ERC223Mintable.json deleted file mode 100644 index 245cf768..00000000 --- a/packages/proxyIdentity/build/contracts/ERC223Mintable.json +++ /dev/null @@ -1,4806 +0,0 @@ -{ - "contractName": "ERC223Mintable", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isMinter", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"details\":\"See {ERC20-_mint}. * Requirements: * - the caller must have the {MinterRole}.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol\":\"ERC223Mintable\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol\":{\"keccak256\":\"0x9c010ce9fc2ca71bc5da1e04a3945fca4663a18570adf2141a2c7c817bd06712\",\"urls\":[\"bzz-raw://eae3d90a569473efb63d903e4887149f08e3df5729d3341ab8fc75397a73bed3\",\"dweb:/ipfs/QmVPM4hLPay868DjGb9ZG1WxGfrh55ALXyjtUMcucYFHPC\"]},\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]},\"@openzeppelin/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzz-raw://badf338a5e22c8658c01fe2ce89b487d9dbf6d2d9d5eb49df7415383e2498765\",\"dweb:/ipfs/QmP5aMkvFwMJyuQjKE8ADh5tkWYqonb4KjgkAjgYEVVFAv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb15af804e2bc97db51e4e103f13de9fe13f87e6b835d7a88c897966c0e58506e\",\"urls\":[\"bzz-raw://1e8cff8437557fc915a3bed968fcd8f2df9809599e665ef69c2c9ce628548055\",\"dweb:/ipfs/QmP5spYP8vs2jvLF8zNrXUbqB79hMsoEvMHiLcBxerWKcm\"]},\"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzz-raw://c44ae0ad1bce141c33b962f8b4e9228bdf8df36c8ac363b4f0bf9498b8bfc32a\",\"dweb:/ipfs/QmcSBRdFwVvy2wFZrBwo5cvqNP4UHh9Eyzf8jnxBgnPqfe\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x608060405262000024620000186200002a60201b60201c565b6200003260201b60201c565b62000257565b600033905090565b6200004d8160036200009360201b620014d31790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620000a582826200017760201b60201c565b1562000119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000200576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062001d316022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611aca80620002676000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063986502751161008c578063aa271e1a11610066578063aa271e1a14610437578063ab67aa5814610493578063be45fd62146105b0578063dd62ed3e146106ad576100ea565b80639865027514610361578063a457c2d71461036b578063a9059cbb146103d1576100ea565b806339509351116100c857806339509351146101f957806340c10f191461025f57806370a08231146102c5578063983b2d561461031d576100ea565b8063095ea7b3146100ef57806318160ddd1461015557806323b872dd14610173575b600080fd5b61013b6004803603604081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610725565b604051808215151515815260200191505060405180910390f35b61015d610743565b6040518082815260200191505060405180910390f35b6101df6004803603606081101561018957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061074d565b604051808215151515815260200191505060405180910390f35b6102456004803603604081101561020f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610798565b604051808215151515815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061084b565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108c6565b6040518082815260200191505060405180910390f35b61035f6004803603602081101561033357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061090e565b005b61036961097f565b005b6103b76004803603604081101561038157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610991565b604051808215151515815260200191505060405180910390f35b61041d600480360360408110156103e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a5e565b604051808215151515815260200191505060405180910390f35b6104796004803603602081101561044d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa7565b604051808215151515815260200191505060405180910390f35b610596600480360360808110156104a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561051057600080fd5b82018360208201111561052257600080fd5b8035906020019184600183028401116401000000008311171561054457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610ac4565b604051808215151515815260200191505060405180910390f35b610693600480360360608110156105c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561060d57600080fd5b82018360208201111561061f57600080fd5b8035906020019184600183028401116401000000008311171561064157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610b00565b604051808215151515815260200191505060405180910390f35b61070f600480360360408110156106c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3a565b6040518082815260200191505060405180910390f35b6000610739610732610bc1565b8484610bc9565b6001905092915050565b6000600254905090565b600061078f84848460006040519080825280601f01601f1916602001820160405280156107895781602001600182028038833980820191505090505b50610ac4565b90509392505050565b60006108416107a5610bc1565b8461083c85600160006107b6610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b610bc9565b6001905092915050565b600061085d610858610bc1565b610aa7565b6108b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061198d6030913960400191505060405180910390fd5b6108bc8383610e48565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61091e610919610bc1565b610aa7565b610973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061198d6030913960400191505060405180910390fd5b61097c81611003565b50565b61098f61098a610bc1565b61105d565b565b6000610a5461099e610bc1565b84610a4f85604051806060016040528060258152602001611a7160259139600160006109c8610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b610bc9565b6001905092915050565b6000610a9f838360006040519080825280601f01601f191660200182016040528015610a995781602001600182028038833980820191505090505b50610b00565b905092915050565b6000610abd82600361117790919063ffffffff16565b9050919050565b6000610ad1858585611255565b50610adb8461132e565b15610af357610aec85858585611341565b9050610af8565b600190505b949350505050565b6000610b0c84846114b5565b50610b168461132e565b15610b2e57610b2733858585611341565b9050610b33565b600190505b9392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611a4d6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806119456022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080828401905083811015610e3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b610f0081600254610dc090919063ffffffff16565b600281905550610f57816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6110178160036114d390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b6110718160036115ae90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6000838311158290611164576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561112957808201518184015260208101905061110e565b50505050905090810190601f1680156111565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611a066022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061126284848461166b565b6113238461126e610bc1565b61131e856040518060600160405280602881526020016119de60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006112d4610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b610bc9565b600190509392505050565b600080823b905060008111915050919050565b6000808490508073ffffffffffffffffffffffffffffffffffffffff16634c123019338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611420578082015181840152602081019050611405565b50505050905090810190601f16801561144d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561146f57600080fd5b505af1158015611483573d6000803e3d6000fd5b505050506040513d602081101561149957600080fd5b8101908080519060200190929190505050915050949350505050565b60006114c96114c2610bc1565b848461166b565b6001905092915050565b6114dd8282611177565b15611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6115b88282611177565b61160d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806119bd6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611a286025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611777576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806119226023913960400191505060405180910390fd5b6117e281604051806060016040528060268152602001611967602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611875816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158209fadb67367d7d5180b268688acc6aa94ee07c75de6010ff3a857c3d00de3a3fb64736f6c63430005110032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063986502751161008c578063aa271e1a11610066578063aa271e1a14610437578063ab67aa5814610493578063be45fd62146105b0578063dd62ed3e146106ad576100ea565b80639865027514610361578063a457c2d71461036b578063a9059cbb146103d1576100ea565b806339509351116100c857806339509351146101f957806340c10f191461025f57806370a08231146102c5578063983b2d561461031d576100ea565b8063095ea7b3146100ef57806318160ddd1461015557806323b872dd14610173575b600080fd5b61013b6004803603604081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610725565b604051808215151515815260200191505060405180910390f35b61015d610743565b6040518082815260200191505060405180910390f35b6101df6004803603606081101561018957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061074d565b604051808215151515815260200191505060405180910390f35b6102456004803603604081101561020f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610798565b604051808215151515815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061084b565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108c6565b6040518082815260200191505060405180910390f35b61035f6004803603602081101561033357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061090e565b005b61036961097f565b005b6103b76004803603604081101561038157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610991565b604051808215151515815260200191505060405180910390f35b61041d600480360360408110156103e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a5e565b604051808215151515815260200191505060405180910390f35b6104796004803603602081101561044d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa7565b604051808215151515815260200191505060405180910390f35b610596600480360360808110156104a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561051057600080fd5b82018360208201111561052257600080fd5b8035906020019184600183028401116401000000008311171561054457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610ac4565b604051808215151515815260200191505060405180910390f35b610693600480360360608110156105c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561060d57600080fd5b82018360208201111561061f57600080fd5b8035906020019184600183028401116401000000008311171561064157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610b00565b604051808215151515815260200191505060405180910390f35b61070f600480360360408110156106c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3a565b6040518082815260200191505060405180910390f35b6000610739610732610bc1565b8484610bc9565b6001905092915050565b6000600254905090565b600061078f84848460006040519080825280601f01601f1916602001820160405280156107895781602001600182028038833980820191505090505b50610ac4565b90509392505050565b60006108416107a5610bc1565b8461083c85600160006107b6610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b610bc9565b6001905092915050565b600061085d610858610bc1565b610aa7565b6108b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061198d6030913960400191505060405180910390fd5b6108bc8383610e48565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61091e610919610bc1565b610aa7565b610973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061198d6030913960400191505060405180910390fd5b61097c81611003565b50565b61098f61098a610bc1565b61105d565b565b6000610a5461099e610bc1565b84610a4f85604051806060016040528060258152602001611a7160259139600160006109c8610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b610bc9565b6001905092915050565b6000610a9f838360006040519080825280601f01601f191660200182016040528015610a995781602001600182028038833980820191505090505b50610b00565b905092915050565b6000610abd82600361117790919063ffffffff16565b9050919050565b6000610ad1858585611255565b50610adb8461132e565b15610af357610aec85858585611341565b9050610af8565b600190505b949350505050565b6000610b0c84846114b5565b50610b168461132e565b15610b2e57610b2733858585611341565b9050610b33565b600190505b9392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611a4d6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806119456022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080828401905083811015610e3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b610f0081600254610dc090919063ffffffff16565b600281905550610f57816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6110178160036114d390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b6110718160036115ae90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6000838311158290611164576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561112957808201518184015260208101905061110e565b50505050905090810190601f1680156111565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611a066022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061126284848461166b565b6113238461126e610bc1565b61131e856040518060600160405280602881526020016119de60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006112d4610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b610bc9565b600190509392505050565b600080823b905060008111915050919050565b6000808490508073ffffffffffffffffffffffffffffffffffffffff16634c123019338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611420578082015181840152602081019050611405565b50505050905090810190601f16801561144d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561146f57600080fd5b505af1158015611483573d6000803e3d6000fd5b505050506040513d602081101561149957600080fd5b8101908080519060200190929190505050915050949350505050565b60006114c96114c2610bc1565b848461166b565b6001905092915050565b6114dd8282611177565b15611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6115b88282611177565b61160d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806119bd6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611a286025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611777576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806119226023913960400191505060405180910390fd5b6117e281604051806060016040528060268152602001611967602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611875816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158209fadb67367d7d5180b268688acc6aa94ee07c75de6010ff3a857c3d00de3a3fb64736f6c63430005110032", - "sourceMap": "171:1404:6:-;;;318:24:10;329:12;:10;;;:12;;:::i;:::-;318:10;;;:24;;:::i;:::-;171:1404:6;;788:96:8;833:15;867:10;860:17;;788:96;:::o;786:119:10:-;842:21;855:7;842:8;:12;;;;;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;260:175:9:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;171:1404:6:-;;;;;;;", - "deployedSourceMap": "171:1404:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;171:1404:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:149:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;886:168:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;886:168:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3802:207:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3802:207:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;502:140:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;502:140:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:12;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;607:90:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;607:90:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;703:77;;;:::i;:::-;;4496:258:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4496:258:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;760:122:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;760:122:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;494:107:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;494:107:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;485:271:6;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;485:271:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;485:271:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;485:271:6;;;;;;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;485:271:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;485:271:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;225:256;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;225:256:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;225:256:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;225:256:6;;;;;;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;225:256:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;225:256:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:149;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;2638:4;2631:11;;2500:149;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;886:168:6:-;984:4;1003:46;1016:5;1023:3;1028:6;1046:1;1036:12;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;1036:12:6;;;;1003;:46::i;:::-;996:53;;886:168;;;;;:::o;3802:207:12:-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;3930:25;;;;;;;;;;;;;;;:34;3956:7;3930:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3898:8;:83::i;:::-;3998:4;3991:11;;3802:207;;;;:::o;502:140:13:-;576:4;395:22:10;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;592:22:13;598:7;607:6;592:5;:22::i;:::-;631:4;624:11;;502:140;;;;:::o;1706:108:12:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;607:90:10:-;395:22;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;703:77::-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;4496:258:12:-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;4629:25;;;;;;;;;;;;;;;:34;4655:7;4629:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4597:8;:129::i;:::-;4743:4;4736:11;;4496:258;;;;:::o;760:122:6:-;823:4;842:35;851:3;856:6;874:1;864:12;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;864:12:6;;;;842:8;:35::i;:::-;835:42;;760:122;;;;:::o;494:107:10:-;550:4;573:21;586:7;573:8;:12;;:21;;;;:::i;:::-;566:28;;494:107;;;:::o;485:271:6:-;607:4;619:38;638:5;645:3;650:6;619:18;:38::i;:::-;;667:15;678:3;667:10;:15::i;:::-;663:71;;;691:43;708:5;715:3;720:6;728:5;691:16;:43::i;:::-;684:50;;;;663:71;747:4;740:11;;485:271;;;;;;;:::o;225:256::-;324:4;336:27;351:3;356:6;336:14;:27::i;:::-;;373:15;384:3;373:10;:15::i;:::-;369:91;;;405:48;422:10;434:3;439:6;447:5;405:16;:48::i;:::-;398:55;;;;369:91;472:4;465:11;;225:256;;;;;;:::o;2230:132:12:-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;788:96:8:-;833:15;867:10;860:17;;788:96;:::o;7350:332:12:-;7460:1;7443:19;;:5;:19;;;;7435:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7540:1;7521:21;;:7;:21;;;;7513:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7622:6;7592:11;:18;7604:5;7592:18;;;;;;;;;;;;;;;:27;7611:7;7592:27;;;;;;;;;;;;;;;:36;;;;7659:7;7643:32;;7652:5;7643:32;;;7668:6;7643:32;;;;;;;;;;;;;;;;;;7350:332;;;:::o;834:176:11:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;5962:302:12:-;6056:1;6037:21;;:7;:21;;;;6029:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:24;6137:6;6120:12;;:16;;:24;;;;:::i;:::-;6105:12;:39;;;;6175:30;6198:6;6175:9;:18;6185:7;6175:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6154:9;:18;6164:7;6154:18;;;;;;;;;;;;;;;:51;;;;6241:7;6220:37;;6237:1;6220:37;;;6250:6;6220:37;;;;;;;;;;;;;;;;;;5962:302;;:::o;786:119:10:-;842:21;855:7;842:8;:12;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;911:127::-;970:24;986:7;970:8;:15;;:24;;;;:::i;:::-;1023:7;1009:22;;;;;;;;;;;;911:127;:::o;1732:187:11:-;1818:7;1850:1;1845;:6;;1853:12;1837:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1837:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:9;1892:1;1888;:5;1876:17;;1911:1;1904:8;;;1732:187;;;;;:::o;779:200:9:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;3107:300:12:-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;:11;:19;3301:6;3289:19;;;;;;;;;;;;;;;:33;3309:12;:10;:12::i;:::-;3289:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3258:8;:121::i;:::-;3396:4;3389:11;;3107:300;;;;;:::o;1334:239:6:-;1391:16;1415:14;1534:5;1522:18;1512:28;;1567:1;1558:6;:10;1551:17;;;1334:239;;;:::o;1058:272::-;1187:12;1207:24;1250:3;1207:47;;1267:8;:22;;;1290:10;1302:7;1311:6;1319:5;1267:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1267:58:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1267:58:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1267:58:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1267:58:6;;;;;;;;;;;;;;;;1260:65;;;1058:272;;;;;;:::o;2017:155:12:-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;260:175:9:-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o;5228:464:12:-;5343:1;5325:20;;:6;:20;;;;5317:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:1;5405:23;;:9;:23;;;;5397:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;:9;:17;5509:6;5499:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5479:9;:17;5489:6;5479:17;;;;;;;;;;;;;;;:91;;;;5603:32;5628:6;5603:9;:20;5613:9;5603:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;:55;;;;5667:9;5650:35;;5659:6;5650:35;;;5678:6;5650:35;;;;;;;;;;;;;;;;;;5228:464;;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\";\nimport \"../interfaces/IERC223.sol\";\nimport \"../interfaces/IERC223Receiver.sol\";\n\n\ncontract ERC223Mintable is IERC223, ERC20Mintable {\n function transfer(\n address _to,\n uint256 _value,\n bytes memory _data\n ) public returns (bool) {\n super.transfer(_to, _value);\n if (isContract(_to)) {\n return contractFallback(msg.sender, _to, _value, _data);\n }\n return true;\n }\n\n function transferFrom(\n address _from,\n address _to,\n uint256 _value,\n bytes memory _data\n ) public returns (bool) {\n super.transferFrom(_from, _to, _value);\n if (isContract(_to)) return contractFallback(_from, _to, _value, _data);\n return true;\n }\n\n function transfer(address _to, uint256 _value) public returns (bool) {\n return transfer(_to, _value, new bytes(0));\n }\n\n function transferFrom(\n address _from,\n address _to,\n uint256 _value\n ) public returns (bool) {\n return transferFrom(_from, _to, _value, new bytes(0));\n }\n\n function contractFallback(\n address _origin,\n address _to,\n uint256 _value,\n bytes memory _data\n ) private returns (bool success) {\n IERC223Receiver reciever = IERC223Receiver(_to);\n return reciever.tokenFallback(msg.sender, _origin, _value, _data);\n }\n\n function isContract(address _addr) private view returns (bool is_contract) {\n uint256 length;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n length := extcodesize(_addr)\n }\n return length > 0;\n }\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol", - "exportedSymbols": { - "ERC223Mintable": [ - 1905 - ] - }, - "id": 1906, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1742, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:6" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "id": 1743, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 2747, - "src": "25:63:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "../interfaces/IERC223.sol", - "id": 1744, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 28, - "src": "89:35:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "../interfaces/IERC223Receiver.sol", - "id": 1745, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 44, - "src": "125:43:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1746, - "name": "IERC223", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27, - "src": "198:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223_$27", - "typeString": "contract IERC223" - } - }, - "id": 1747, - "nodeType": "InheritanceSpecifier", - "src": "198:7:6" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1748, - "name": "ERC20Mintable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2746, - "src": "207:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Mintable_$2746", - "typeString": "contract ERC20Mintable" - } - }, - "id": 1749, - "nodeType": "InheritanceSpecifier", - "src": "207:13:6" - } - ], - "contractDependencies": [ - 27, - 1938, - 2126, - 2718, - 2746, - 2815 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1905, - "linearizedBaseContracts": [ - 1905, - 2746, - 2126, - 2718, - 2815, - 1938, - 27 - ], - "name": "ERC223Mintable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1782, - "nodeType": "Block", - "src": "330:151:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1763, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "351:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1764, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1753, - "src": "356:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1760, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3903, - "src": "336:5:6", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC223Mintable_$1905", - "typeString": "contract super ERC223Mintable" - } - }, - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 2376, - "src": "336:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "336:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1766, - "nodeType": "ExpressionStatement", - "src": "336:27:6" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1768, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "384:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1767, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1904, - "src": "373:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "373:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1779, - "nodeType": "IfStatement", - "src": "369:91:6", - "trueBody": { - "id": 1778, - "nodeType": "Block", - "src": "390:70:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1771, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "422:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "422:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1773, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "434:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1774, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1753, - "src": "439:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1775, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1755, - "src": "447:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1770, - "name": "contractFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "405:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "405:48:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1759, - "id": 1777, - "nodeType": "Return", - "src": "398:55:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "472:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1759, - "id": 1781, - "nodeType": "Return", - "src": "465:11:6" - } - ] - }, - "documentation": null, - "id": 1783, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1751, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "248:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1750, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "248:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1753, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "265:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "265:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1755, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "285:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1754, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "285:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "242:65:6" - }, - "returnParameters": { - "id": 1759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1758, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "324:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1757, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "324:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:6:6" - }, - "scope": 1905, - "src": "225:256:6", - "stateMutability": "nonpayable", - "superFunction": 13, - "visibility": "public" - }, - { - "body": { - "id": 1817, - "nodeType": "Block", - "src": "613:143:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1799, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "638:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1800, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "645:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1801, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "650:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1796, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3903, - "src": "619:5:6", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC223Mintable_$1905", - "typeString": "contract super ERC223Mintable" - } - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 2447, - "src": "619:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 1802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "619:38:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1803, - "nodeType": "ExpressionStatement", - "src": "619:38:6" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1805, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "678:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1804, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1904, - "src": "667:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "667:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1814, - "nodeType": "IfStatement", - "src": "663:71:6", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1808, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "708:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1809, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "715:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1810, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "720:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1811, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "728:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1807, - "name": "contractFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "691:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "691:43:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1795, - "id": 1813, - "nodeType": "Return", - "src": "684:50:6" - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "747:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1795, - "id": 1816, - "nodeType": "Return", - "src": "740:11:6" - } - ] - }, - "documentation": null, - "id": 1818, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1785, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "512:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1784, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "512:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1787, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "531:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1786, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "531:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1789, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "548:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "548:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1791, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "568:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1790, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "568:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "506:84:6" - }, - "returnParameters": { - "id": 1795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1794, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "607:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1793, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "607:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "606:6:6" - }, - "scope": 1905, - "src": "485:271:6", - "stateMutability": "nonpayable", - "superFunction": 26, - "visibility": "public" - }, - { - "body": { - "id": 1836, - "nodeType": "Block", - "src": "829:53:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1828, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "851:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1829, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "856:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "874:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "864:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1830, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "868:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "864:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 1827, - "name": "transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1783, - 1837 - ], - "referencedDeclaration": 1783, - "src": "842:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "842:35:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1826, - "id": 1835, - "nodeType": "Return", - "src": "835:42:6" - } - ] - }, - "documentation": null, - "id": 1837, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1820, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "778:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1819, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "778:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1822, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "791:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1821, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "777:29:6" - }, - "returnParameters": { - "id": 1826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1825, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "823:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1824, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "823:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "822:6:6" - }, - "scope": 1905, - "src": "760:122:6", - "stateMutability": "nonpayable", - "superFunction": 2376, - "visibility": "public" - }, - { - "body": { - "id": 1858, - "nodeType": "Block", - "src": "990:64:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1849, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1839, - "src": "1016:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1850, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1841, - "src": "1023:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1851, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1843, - "src": "1028:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1046:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1036:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1852, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1040:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1036:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 1848, - "name": "transferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1818, - 1859 - ], - "referencedDeclaration": 1818, - "src": "1003:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1003:46:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1847, - "id": 1857, - "nodeType": "Return", - "src": "996:53:6" - } - ] - }, - "documentation": null, - "id": 1859, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1844, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1839, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "913:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "913:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1841, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "932:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1840, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "932:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1843, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "949:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "949:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "907:60:6" - }, - "returnParameters": { - "id": 1847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1846, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "984:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1845, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "984:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "983:6:6" - }, - "scope": 1905, - "src": "886:168:6", - "stateMutability": "nonpayable", - "superFunction": 2447, - "visibility": "public" - }, - { - "body": { - "id": 1887, - "nodeType": "Block", - "src": "1201:129:6", - "statements": [ - { - "assignments": [ - 1873 - ], - "declarations": [ - { - "constant": false, - "id": 1873, - "name": "reciever", - "nodeType": "VariableDeclaration", - "scope": 1887, - "src": "1207:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - }, - "typeName": { - "contractScope": null, - "id": 1872, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "1207:15:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1877, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1875, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1863, - "src": "1250:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1874, - "name": "IERC223Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43, - "src": "1234:15:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC223Receiver_$43_$", - "typeString": "type(contract IERC223Receiver)" - } - }, - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1234:20:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1207:47:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1880, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1290:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1290:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1882, - "name": "_origin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1861, - "src": "1302:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1883, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1865, - "src": "1311:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1884, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1867, - "src": "1319:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1878, - "name": "reciever", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1873, - "src": "1267:8:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 1879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenFallback", - "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "1267:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bool)" - } - }, - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1267:58:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1871, - "id": 1886, - "nodeType": "Return", - "src": "1260:65:6" - } - ] - }, - "documentation": null, - "id": 1888, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contractFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1861, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1089:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1089:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1863, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1110:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1110:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1865, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1127:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1127:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1867, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1147:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1866, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1147:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1083:86:6" - }, - "returnParameters": { - "id": 1871, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1870, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1187:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1869, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1187:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1186:14:6" - }, - "scope": 1905, - "src": "1058:272:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 1903, - "nodeType": "Block", - "src": "1409:164:6", - "statements": [ - { - "assignments": [ - 1896 - ], - "declarations": [ - { - "constant": false, - "id": 1896, - "name": "length", - "nodeType": "VariableDeclaration", - "scope": 1903, - "src": "1415:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1415:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1897, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1415:14:6" - }, - { - "externalReferences": [ - { - "length": { - "declaration": 1896, - "isOffset": false, - "isSlot": false, - "src": "1512:6:6", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 1890, - "isOffset": false, - "isSlot": false, - "src": "1534:5:6", - "valueSize": 1 - } - } - ], - "id": 1898, - "nodeType": "InlineAssembly", - "operations": "{ length := extcodesize(_addr) }", - "src": "1495:51:6" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1899, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1896, - "src": "1558:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1567:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1558:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1894, - "id": 1902, - "nodeType": "Return", - "src": "1551:17:6" - } - ] - }, - "documentation": null, - "id": 1904, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1890, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 1904, - "src": "1354:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1354:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1353:15:6" - }, - "returnParameters": { - "id": 1894, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1893, - "name": "is_contract", - "nodeType": "VariableDeclaration", - "scope": 1904, - "src": "1391:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1892, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1391:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1390:18:6" - }, - "scope": 1905, - "src": "1334:239:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 1906, - "src": "171:1404:6" - } - ], - "src": "0:1576:6" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol", - "exportedSymbols": { - "ERC223Mintable": [ - 1905 - ] - }, - "id": 1906, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1742, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:6" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "id": 1743, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 2747, - "src": "25:63:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "../interfaces/IERC223.sol", - "id": 1744, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 28, - "src": "89:35:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "../interfaces/IERC223Receiver.sol", - "id": 1745, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 44, - "src": "125:43:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1746, - "name": "IERC223", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27, - "src": "198:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223_$27", - "typeString": "contract IERC223" - } - }, - "id": 1747, - "nodeType": "InheritanceSpecifier", - "src": "198:7:6" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1748, - "name": "ERC20Mintable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2746, - "src": "207:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Mintable_$2746", - "typeString": "contract ERC20Mintable" - } - }, - "id": 1749, - "nodeType": "InheritanceSpecifier", - "src": "207:13:6" - } - ], - "contractDependencies": [ - 27, - 1938, - 2126, - 2718, - 2746, - 2815 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1905, - "linearizedBaseContracts": [ - 1905, - 2746, - 2126, - 2718, - 2815, - 1938, - 27 - ], - "name": "ERC223Mintable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1782, - "nodeType": "Block", - "src": "330:151:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1763, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "351:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1764, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1753, - "src": "356:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1760, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3903, - "src": "336:5:6", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC223Mintable_$1905", - "typeString": "contract super ERC223Mintable" - } - }, - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 2376, - "src": "336:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "336:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1766, - "nodeType": "ExpressionStatement", - "src": "336:27:6" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1768, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "384:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1767, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1904, - "src": "373:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "373:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1779, - "nodeType": "IfStatement", - "src": "369:91:6", - "trueBody": { - "id": 1778, - "nodeType": "Block", - "src": "390:70:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1771, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "422:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "422:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1773, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "434:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1774, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1753, - "src": "439:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1775, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1755, - "src": "447:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1770, - "name": "contractFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "405:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "405:48:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1759, - "id": 1777, - "nodeType": "Return", - "src": "398:55:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "472:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1759, - "id": 1781, - "nodeType": "Return", - "src": "465:11:6" - } - ] - }, - "documentation": null, - "id": 1783, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1751, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "248:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1750, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "248:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1753, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "265:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "265:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1755, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "285:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1754, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "285:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "242:65:6" - }, - "returnParameters": { - "id": 1759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1758, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "324:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1757, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "324:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:6:6" - }, - "scope": 1905, - "src": "225:256:6", - "stateMutability": "nonpayable", - "superFunction": 13, - "visibility": "public" - }, - { - "body": { - "id": 1817, - "nodeType": "Block", - "src": "613:143:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1799, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "638:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1800, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "645:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1801, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "650:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1796, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3903, - "src": "619:5:6", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC223Mintable_$1905", - "typeString": "contract super ERC223Mintable" - } - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 2447, - "src": "619:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 1802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "619:38:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1803, - "nodeType": "ExpressionStatement", - "src": "619:38:6" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1805, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "678:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1804, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1904, - "src": "667:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "667:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1814, - "nodeType": "IfStatement", - "src": "663:71:6", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1808, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "708:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1809, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "715:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1810, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "720:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1811, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "728:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1807, - "name": "contractFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "691:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "691:43:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1795, - "id": 1813, - "nodeType": "Return", - "src": "684:50:6" - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "747:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1795, - "id": 1816, - "nodeType": "Return", - "src": "740:11:6" - } - ] - }, - "documentation": null, - "id": 1818, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1785, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "512:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1784, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "512:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1787, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "531:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1786, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "531:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1789, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "548:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "548:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1791, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "568:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1790, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "568:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "506:84:6" - }, - "returnParameters": { - "id": 1795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1794, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "607:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1793, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "607:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "606:6:6" - }, - "scope": 1905, - "src": "485:271:6", - "stateMutability": "nonpayable", - "superFunction": 26, - "visibility": "public" - }, - { - "body": { - "id": 1836, - "nodeType": "Block", - "src": "829:53:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1828, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "851:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1829, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "856:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "874:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "864:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1830, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "868:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "864:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 1827, - "name": "transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1783, - 1837 - ], - "referencedDeclaration": 1783, - "src": "842:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "842:35:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1826, - "id": 1835, - "nodeType": "Return", - "src": "835:42:6" - } - ] - }, - "documentation": null, - "id": 1837, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1820, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "778:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1819, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "778:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1822, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "791:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1821, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "777:29:6" - }, - "returnParameters": { - "id": 1826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1825, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "823:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1824, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "823:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "822:6:6" - }, - "scope": 1905, - "src": "760:122:6", - "stateMutability": "nonpayable", - "superFunction": 2376, - "visibility": "public" - }, - { - "body": { - "id": 1858, - "nodeType": "Block", - "src": "990:64:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1849, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1839, - "src": "1016:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1850, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1841, - "src": "1023:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1851, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1843, - "src": "1028:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1046:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1036:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1852, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1040:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1036:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 1848, - "name": "transferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1818, - 1859 - ], - "referencedDeclaration": 1818, - "src": "1003:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1003:46:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1847, - "id": 1857, - "nodeType": "Return", - "src": "996:53:6" - } - ] - }, - "documentation": null, - "id": 1859, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1844, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1839, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "913:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "913:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1841, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "932:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1840, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "932:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1843, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "949:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "949:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "907:60:6" - }, - "returnParameters": { - "id": 1847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1846, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "984:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1845, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "984:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "983:6:6" - }, - "scope": 1905, - "src": "886:168:6", - "stateMutability": "nonpayable", - "superFunction": 2447, - "visibility": "public" - }, - { - "body": { - "id": 1887, - "nodeType": "Block", - "src": "1201:129:6", - "statements": [ - { - "assignments": [ - 1873 - ], - "declarations": [ - { - "constant": false, - "id": 1873, - "name": "reciever", - "nodeType": "VariableDeclaration", - "scope": 1887, - "src": "1207:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - }, - "typeName": { - "contractScope": null, - "id": 1872, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "1207:15:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1877, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1875, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1863, - "src": "1250:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1874, - "name": "IERC223Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43, - "src": "1234:15:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC223Receiver_$43_$", - "typeString": "type(contract IERC223Receiver)" - } - }, - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1234:20:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1207:47:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1880, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1290:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1290:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1882, - "name": "_origin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1861, - "src": "1302:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1883, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1865, - "src": "1311:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1884, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1867, - "src": "1319:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1878, - "name": "reciever", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1873, - "src": "1267:8:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 1879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenFallback", - "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "1267:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bool)" - } - }, - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1267:58:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1871, - "id": 1886, - "nodeType": "Return", - "src": "1260:65:6" - } - ] - }, - "documentation": null, - "id": 1888, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contractFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1861, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1089:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1089:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1863, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1110:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1110:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1865, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1127:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1127:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1867, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1147:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1866, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1147:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1083:86:6" - }, - "returnParameters": { - "id": 1871, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1870, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1187:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1869, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1187:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1186:14:6" - }, - "scope": 1905, - "src": "1058:272:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 1903, - "nodeType": "Block", - "src": "1409:164:6", - "statements": [ - { - "assignments": [ - 1896 - ], - "declarations": [ - { - "constant": false, - "id": 1896, - "name": "length", - "nodeType": "VariableDeclaration", - "scope": 1903, - "src": "1415:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1415:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1897, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1415:14:6" - }, - { - "externalReferences": [ - { - "length": { - "declaration": 1896, - "isOffset": false, - "isSlot": false, - "src": "1512:6:6", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 1890, - "isOffset": false, - "isSlot": false, - "src": "1534:5:6", - "valueSize": 1 - } - } - ], - "id": 1898, - "nodeType": "InlineAssembly", - "operations": "{ length := extcodesize(_addr) }", - "src": "1495:51:6" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1899, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1896, - "src": "1558:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1567:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1558:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1894, - "id": 1902, - "nodeType": "Return", - "src": "1551:17:6" - } - ] - }, - "documentation": null, - "id": 1904, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1890, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 1904, - "src": "1354:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1354:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1353:15:6" - }, - "returnParameters": { - "id": 1894, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1893, - "name": "is_contract", - "nodeType": "VariableDeclaration", - "scope": 1904, - "src": "1391:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1892, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1391:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1390:18:6" - }, - "scope": 1905, - "src": "1334:239:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 1906, - "src": "171:1404:6" - } - ], - "src": "0:1576:6" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.599Z", - "devdoc": { - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "mint(address,uint256)": { - "details": "See {ERC20-_mint}. * Requirements: * - the caller must have the {MinterRole}." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC223Receiver.json b/packages/proxyIdentity/build/contracts/ERC223Receiver.json deleted file mode 100644 index bac76039..00000000 --- a/packages/proxyIdentity/build/contracts/ERC223Receiver.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "contractName": "ERC223Receiver", - "abi": [ - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_origin", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "tokenFallback", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"tokenFallback\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol\":\"ERC223Receiver\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol\":{\"keccak256\":\"0x42c3392dc57388b38ada5f712866e9da620b65666cedbe8049fb609ea833cba9\",\"urls\":[\"bzz-raw://176f8eda74b995232dbb7e4d7267ad50e52592b1d0baf65e9210cb92d1a46c71\",\"dweb:/ipfs/QmRABEBcuwFcLReAfM7jcvtkZb3trzVaSKio6e3Msca6nU\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\nimport \"../interfaces/IERC223Receiver.sol\";\n\n\ncontract ERC223Receiver is IERC223Receiver {}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol", - "exportedSymbols": { - "ERC223Receiver": [ - 1911 - ] - }, - "id": 1912, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1907, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:7" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "../interfaces/IERC223Receiver.sol", - "id": 1908, - "nodeType": "ImportDirective", - "scope": 1912, - "sourceUnit": 44, - "src": "25:43:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1909, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "98:15:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 1910, - "nodeType": "InheritanceSpecifier", - "src": "98:15:7" - } - ], - "contractDependencies": [ - 43 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 1911, - "linearizedBaseContracts": [ - 1911, - 43 - ], - "name": "ERC223Receiver", - "nodeType": "ContractDefinition", - "nodes": [], - "scope": 1912, - "src": "71:45:7" - } - ], - "src": "0:117:7" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol", - "exportedSymbols": { - "ERC223Receiver": [ - 1911 - ] - }, - "id": 1912, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1907, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:7" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "../interfaces/IERC223Receiver.sol", - "id": 1908, - "nodeType": "ImportDirective", - "scope": 1912, - "sourceUnit": 44, - "src": "25:43:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1909, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "98:15:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 1910, - "nodeType": "InheritanceSpecifier", - "src": "98:15:7" - } - ], - "contractDependencies": [ - 43 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 1911, - "linearizedBaseContracts": [ - 1911, - 43 - ], - "name": "ERC223Receiver", - "nodeType": "ContractDefinition", - "nodes": [], - "scope": 1912, - "src": "71:45:7" - } - ], - "src": "0:117:7" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.601Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC1056.json b/packages/proxyIdentity/build/contracts/IERC1056.json index e33fe652..d49b395e 100644 --- a/packages/proxyIdentity/build/contracts/IERC1056.json +++ b/packages/proxyIdentity/build/contracts/IERC1056.json @@ -5,27 +5,27 @@ "constant": false, "inputs": [ { - "internalType": "address", "name": "identity", "type": "address" }, { - "internalType": "bytes32", - "name": "delegateType", + "name": "sigV", + "type": "uint8" + }, + { + "name": "sigR", "type": "bytes32" }, { - "internalType": "address", - "name": "delegate", - "type": "address" + "name": "sigS", + "type": "bytes32" }, { - "internalType": "uint256", - "name": "validity", - "type": "uint256" + "name": "newOwner", + "type": "address" } ], - "name": "addDelegate", + "name": "changeOwnerSigned", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -35,124 +35,88 @@ "constant": false, "inputs": [ { - "internalType": "address", "name": "identity", "type": "address" }, { - "internalType": "bytes32", - "name": "delegateType", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "delegate", + "name": "newOwner", "type": "address" } ], - "name": "revokeDelegate", + "name": "changeOwner", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "identity", + "type": "address" + } + ], + "name": "identityOwner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "nonce", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"delegateType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"validity\",\"type\":\"uint256\"}],\"name\":\"addDelegate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"delegateType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"revokeDelegate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":\"IERC1056\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":{\"keccak256\":\"0xdf4dda59244973fb70bd0cb82914435443c07fce5e003b8158afd389c889d12a\",\"urls\":[\"bzz-raw://a6b786967673526b3ba93dec11153160479b028e9b435563b7b32bc4b62710f6\",\"dweb:/ipfs/QmQ7ibdezbEeg3qMH9eAuqvUaXaNcV7EJzKvZuDM7M4Yho\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol\":{\"keccak256\":\"0x65c692e6fdfbdc216d31f9f2a82ccd528126fc3a7fd2b30460696bef6890e57b\",\"urls\":[\"bzz-raw://8018e79ca78802e46722409d8e6eca2f364c255d97de988d3c39d951cfcb5f66\",\"dweb:/ipfs/QmTFsypNNX9thXu9jFX5WzLKD95ysLWwP2Pm6QHuiMcTPb\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":{\"keccak256\":\"0x4ef6482f64e22ea36be61c3eba61f85bed1fa75f83dcda5c4850697b5ed2c4d4\",\"urls\":[\"bzz-raw://e7550ccafd3c9e121a9d9a86e6246db33cf6a1917bf89fdd3dc35c3e539489b4\",\"dweb:/ipfs/QmQKsdE526BUTA4Xjo8FeTwmYQMWeXEUqHs392hLKeFZGn\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol\":{\"keccak256\":\"0x8b5247002651f1bcc2365b22051a9db517b4e4892d71594fd0adcea4a43ec678\",\"urls\":[\"bzz-raw://f7ddd00e7da49cbac08d2c3678b520875aee42c505ffde06e62c86f43f9da43a\",\"dweb:/ipfs/QmVBa6ocmrrLp3ak46hFHVGgL2GJq9z8VWvBX4GPyWYhrD\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", + "metadata": "", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\nimport \"multi-token-standard/contracts/interfaces/IERC165.sol\";\nimport \"multi-token-standard/contracts/interfaces/IERC1155.sol\";\nimport \"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\";\nimport \"./interfaces/IERC223Receiver.sol\";\nimport \"./interfaces/IERC223.sol\";\nimport \"./tokens/ERC1155Multiproxy.sol\";\n\ninterface IERC1056 {\n function addDelegate(\n address identity,\n bytes32 delegateType,\n address delegate,\n uint256 validity\n ) external;\n\n function revokeDelegate(\n address identity,\n bytes32 delegateType,\n address delegate\n ) external;\n}\n\ncontract ProxyIdentity is IERC1155TokenReceiver, IERC165, IERC223Receiver {\n address public owner;\n address public creator;\n address[] public agents;\n address public erc1056;\n address public erc1155;\n uint256 defaultValidity = 2**256 - 1;\n mapping(bytes32 => bool) digests;\n bytes4 internal constant ERC1155_ACCEPTED = 0xf23a6e61;\n bytes4 internal constant ERC1155_BATCH_ACCEPTED = 0xbc197c81;\n Tkn tkn;\n bool __isTokenFallback;\n string public serial;\n uint256 public id;\n mapping(address => bool) public isApproved;\n\n struct Tkn {\n address addr;\n address sender;\n address origin;\n uint256 value;\n bytes data;\n bytes4 sig;\n }\n\n event TransactionSent(bytes data, address to, uint256 value);\n event ApprovedAgentAdded(address agent);\n event ApprovedAgentRemoved(address agent);\n\n constructor(\n address _erc1056,\n address _erc1155,\n string memory _serial,\n address _creator\n ) public {\n erc1056 = _erc1056;\n erc1155 = _erc1155;\n serial = _serial;\n creator = _creator;\n owner = _creator;\n id = ERC1155Multiproxy(_erc1155).tokenCount();\n ERC1155Multiproxy(_erc1155).mint(id);\n _addDelegate(_creator);\n }\n\n modifier _owner() {\n require(msg.sender == owner, \"Only owner allowed\");\n _;\n }\n\n modifier isOwnerOrApproved() {\n require(\n msg.sender == owner || isApproved[msg.sender],\n \"ProxyIdentity: Only owner or approved agent allowed\"\n );\n _;\n }\n\n modifier tokenPayable {\n if (!__isTokenFallback)\n revert(\"Method can be invoked only as part of ERC223 transfer\");\n _;\n }\n\n function sendTransaction(\n bytes memory _data,\n address to,\n uint256 value\n ) public payable _owner() {\n require(_sendTransaction(_data, to, value), \"Can't send transaction\");\n }\n\n function sendSignedTransaction(\n bytes memory data,\n address to,\n uint8 v,\n bytes32 r,\n bytes32 s,\n uint256 value,\n uint256 nonce\n ) public payable {\n bytes32 digest = keccak256(abi.encode(data, to, value, nonce));\n require(digests[digest] == false, \"This transaction has already been sent\");\n digests[digest] = true;\n bytes32 hash = keccak256(\n abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", digest)\n );\n address signer = ecrecover(hash, v, r, s);\n require(\n signer == owner,\n \"Signature is not valid\"\n );\n require(_sendTransaction(data, to, value), \"Can't send transaction\");\n }\n\n function addDelegate(address delegate) public _owner() {\n _addDelegate(delegate);\n }\n\n function revokeDelegate(address delegate) public _owner() {\n IERC1056(erc1056).revokeDelegate(address(this), \"sigAuth\", delegate);\n }\n\n function changeOwner(address newOwner) public isOwnerOrApproved {\n owner = newOwner;\n }\n\n function addApprovedAgent(address agent) public isOwnerOrApproved {\n isApproved[agent] = true;\n ERC1155Multiproxy(erc1155).setApprovalForAll(agent, true);\n }\n\n function removeApprovedAgent(address agent) public isOwnerOrApproved {\n isApproved[agent] = false;\n ERC1155Multiproxy(erc1155).setApprovalForAll(agent, false);\n }\n\n function uri() public view returns (string memory) {\n return ERC1155Multiproxy(erc1155).uri(id);\n }\n\n function updateUri(string memory _uri) public {\n ERC1155Multiproxy(erc1155).updateUri(id, _uri);\n }\n\n function onERC1155Received(\n address _operator,\n address _from,\n uint256 _id,\n uint256 _value,\n bytes calldata _data\n ) external returns (bytes4) {\n return ERC1155_ACCEPTED;\n }\n\n function onERC1155BatchReceived(\n address _operator,\n address _from,\n uint256[] calldata _ids,\n uint256[] calldata _values,\n bytes calldata _data\n ) external returns (bytes4) {\n return ERC1155_BATCH_ACCEPTED;\n }\n\n function _sendTransaction(\n bytes memory _data,\n address to,\n uint256 value\n ) internal returns (bool success) {\n bytes memory data = _data;\n uint256 len = data.length;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := call(gas, to, value, add(data, 0x20), len, 0, 0)\n }\n emit TransactionSent(_data, to, value);\n }\n\n function _addDelegate(address delegate) internal {\n IERC1056(erc1056).addDelegate(\n address(this),\n \"sigAuth\",\n delegate,\n defaultValidity\n );\n }\n\n /**\n * INTERFACE_SIGNATURE_ERC165 = bytes4(keccak256(\"supportsInterface(bytes4)\"));\n */\n bytes4 private constant INTERFACE_SIGNATURE_ERC165 = 0x01ffc9a7;\n\n /**\n * bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))^bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))\n */\n bytes4 private constant INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER = 0x4e2312e0;\n\n /**\n * @notice Query if a contract implements an interface\n * @param _interfaceID The interface identifier, as specified in ERC-165\n * @return `true` if the contract implements `_interfaceID` and\n */\n function supportsInterface(bytes4 _interfaceID) external view returns (bool) {\n if (\n _interfaceID == INTERFACE_SIGNATURE_ERC165 ||\n _interfaceID == INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER\n ) {\n return true;\n }\n return false;\n }\n\n event CallbackOnTransfer(bytes data, bool success, address sender);\n\n function tokenFallback(\n address _sender,\n address _origin,\n uint256 _value,\n bytes memory _data\n ) public returns (bool) {\n if (!supportsToken(msg.sender)) return false;\n __isTokenFallback = true;\n // solium-disable-next-line security/no-low-level-calls\n (bool success, ) = address(this).delegatecall(_data);\n __isTokenFallback = false;\n emit CallbackOnTransfer(_data, success, msg.sender);\n return success;\n }\n\n function getSig(bytes memory _data) private pure returns (bytes4 sig) {\n uint256 l = _data.length < 4 ? _data.length : 4;\n for (uint256 i = 0; i < l; i++) {\n sig = bytes4(\n uint32(uint32(sig) + uint8(_data[i]) * (2**(8 * (l - 1 - i))))\n );\n }\n }\n\n function supportsToken(address token) public pure returns (bool) {\n return true;\n }\n\n function() external payable {}\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", + "source": "pragma solidity 0.4.24;\n\n\ninterface IERC1056 {\n function changeOwnerSigned(\n address identity,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS,\n address newOwner\n ) external;\n\n function changeOwner(address identity, address newOwner) external;\n\n function identityOwner(address identity) external view returns (address);\n\n function nonce(address owner) external view returns (uint256);\n}\n\n\ncontract OfferableIdentity {\n address public owner;\n address erc1056;\n string public id;\n\n uint8 sigV;\n bytes32 sigR;\n bytes32 sigS;\n address public offeredTo;\n address public offerSigner;\n bytes32 public offerHash;\n\n event OfferableIdentityCreated(address identity, address owner);\n event IdentityOffered(address identity, address offeredTo);\n event IdentityTransferred(address identity, address owner);\n event OfferRejected(address identity, address offeredTo);\n\n constructor(string memory _id, address _erc1056, address _owner) public {\n id = _id;\n erc1056 = _erc1056;\n IERC1056 registry = IERC1056(_erc1056);\n registry.changeOwner(address(this), _owner);\n owner = _owner;\n emit OfferableIdentityCreated(address(this), owner);\n }\n\n modifier isOwner() {\n require(msg.sender == owner, \"Only owner allowed\");\n _;\n }\n\n modifier isOfferedTo() {\n require(offeredTo != address(0), \"Proxy is not offered\");\n require(msg.sender == offeredTo, \"Proxy offered to other account\");\n _;\n }\n\n function offer(bytes changeOwnerTx, address _offeredTo) external isOwner {\n offeredTo = _offeredTo;\n\n erc1056.call(changeOwnerTx);\n\n emit IdentityOffered(address(this), offeredTo);\n }\n\n function accept() external isOfferedTo {\n IERC1056(erc1056).changeOwnerSigned(\n address(this),\n sigV,\n sigR,\n sigS,\n offeredTo\n );\n owner = offeredTo;\n emit IdentityTransferred(address(this), offeredTo);\n closeOffer();\n }\n\n function reject() external isOfferedTo {\n emit OfferRejected(address(this), offeredTo);\n closeOffer();\n }\n\n function closeOffer() internal {\n offeredTo = address(0);\n sigV = 0;\n sigR = \"\";\n sigS = \"\";\n }\n}\n", + "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", "exportedSymbols": { "IERC1056": [ - 216 + 36 ], - "ProxyIdentity": [ - 839 + "OfferableIdentity": [ + 254 ] }, - "id": 840, + "id": 255, "nodeType": "SourceUnit", "nodes": [ { - "id": 189, + "id": 1, "literals": [ "solidity", - "^", - "0.5", - ".0" + "0.4", + ".24" ], "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "multi-token-standard/contracts/interfaces/IERC165.sol", - "id": 190, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2419, - "src": "25:63:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "id": 191, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2367, - "src": "89:64:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "id": 192, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2409, - "src": "154:77:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "./interfaces/IERC223Receiver.sol", - "id": 193, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 44, - "src": "232:42:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "./interfaces/IERC223.sol", - "id": 194, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 28, - "src": "275:34:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "file": "./tokens/ERC1155Multiproxy.sol", - "id": 195, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 1184, - "src": "310:40:3", - "symbolAliases": [], - "unitAlias": "" + "src": "0:23:0" }, { "baseContracts": [], @@ -160,9 +124,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 216, + "id": 36, "linearizedBaseContracts": [ - 216 + 36 ], "name": "IERC1056", "nodeType": "ContractDefinition", @@ -170,23 +134,24 @@ { "body": null, "documentation": null, - "id": 206, + "id": 14, "implemented": false, - "kind": "function", + "isConstructor": false, + "isDeclaredConst": false, "modifiers": [], - "name": "addDelegate", + "name": "changeOwnerSigned", "nodeType": "FunctionDefinition", "parameters": { - "id": 204, + "id": 12, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 197, + "id": 3, "name": "identity", "nodeType": "VariableDeclaration", - "scope": 206, - "src": "401:16:3", + "scope": 14, + "src": "81:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -194,11 +159,10 @@ "typeString": "address" }, "typeName": { - "id": 196, + "id": 2, "name": "address", "nodeType": "ElementaryTypeName", - "src": "401:7:3", - "stateMutability": "nonpayable", + "src": "81:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -209,11 +173,37 @@ }, { "constant": false, - "id": 199, - "name": "delegateType", + "id": 5, + "name": "sigV", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "103:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "103:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7, + "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 206, - "src": "423:20:3", + "scope": 14, + "src": "119:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -221,10 +211,36 @@ "typeString": "bytes32" }, "typeName": { - "id": 198, + "id": 6, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "119:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9, + "name": "sigS", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "137:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "423:7:3", + "src": "137:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -235,11 +251,67 @@ }, { "constant": false, - "id": 201, - "name": "delegate", + "id": 11, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "155:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "155:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "75:100:0" + }, + "payable": false, + "returnParameters": { + "id": 13, + "nodeType": "ParameterList", + "parameters": [], + "src": "184:0:0" + }, + "scope": 36, + "src": "49:136:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 21, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "changeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 206, - "src": "449:16:3", + "scope": 21, + "src": "210:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -247,11 +319,10 @@ "typeString": "address" }, "typeName": { - "id": 200, + "id": 15, "name": "address", "nodeType": "ElementaryTypeName", - "src": "449:7:3", - "stateMutability": "nonpayable", + "src": "210:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -262,41 +333,42 @@ }, { "constant": false, - "id": 203, - "name": "validity", + "id": 18, + "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 206, - "src": "471:16:3", + "scope": 21, + "src": "228:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 202, - "name": "uint256", + "id": 17, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "471:7:3", + "src": "228:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "395:96:3" + "src": "209:36:0" }, + "payable": false, "returnParameters": { - "id": 205, + "id": 20, "nodeType": "ParameterList", "parameters": [], - "src": "500:0:3" + "src": "254:0:0" }, - "scope": 216, - "src": "375:126:3", + "scope": 36, + "src": "189:66:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -304,23 +376,24 @@ { "body": null, "documentation": null, - "id": 215, + "id": 28, "implemented": false, - "kind": "function", + "isConstructor": false, + "isDeclaredConst": true, "modifiers": [], - "name": "revokeDelegate", + "name": "identityOwner", "nodeType": "FunctionDefinition", "parameters": { - "id": 213, + "id": 24, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 208, + "id": 23, "name": "identity", "nodeType": "VariableDeclaration", - "scope": 215, - "src": "534:16:3", + "scope": 28, + "src": "282:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -328,11 +401,10 @@ "typeString": "address" }, "typeName": { - "id": 207, + "id": 22, "name": "address", "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "stateMutability": "nonpayable", + "src": "282:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -340,40 +412,71 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "281:18:0" + }, + "payable": false, + "returnParameters": { + "id": 27, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 210, - "name": "delegateType", + "id": 26, + "name": "", "nodeType": "VariableDeclaration", - "scope": 215, - "src": "556:20:3", + "scope": 28, + "src": "323:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 209, - "name": "bytes32", + "id": 25, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "556:7:3", + "src": "323:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" - }, + } + ], + "src": "322:9:0" + }, + "scope": 36, + "src": "259:73:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 35, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "nonce", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 31, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 212, - "name": "delegate", + "id": 30, + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 215, - "src": "582:16:3", + "scope": 35, + "src": "351:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -381,11 +484,10 @@ "typeString": "address" }, "typeName": { - "id": 211, + "id": 29, "name": "address", "nodeType": "ElementaryTypeName", - "src": "582:7:3", - "stateMutability": "nonpayable", + "src": "351:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -395,106 +497,72 @@ "visibility": "internal" } ], - "src": "528:74:3" + "src": "350:15:0" }, + "payable": false, "returnParameters": { - "id": 214, + "id": 34, "nodeType": "ParameterList", - "parameters": [], - "src": "611:0:3" + "parameters": [ + { + "constant": false, + "id": 33, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "389:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "389:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "388:9:0" }, - "scope": 216, - "src": "505:107:3", - "stateMutability": "nonpayable", + "scope": 36, + "src": "336:62:0", + "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 840, - "src": "352:262:3" + "scope": 255, + "src": "26:374:0" }, { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 217, - "name": "IERC1155TokenReceiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2408, - "src": "642:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2408", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 218, - "nodeType": "InheritanceSpecifier", - "src": "642:21:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 219, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2418, - "src": "665:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2418", - "typeString": "contract IERC165" - } - }, - "id": 220, - "nodeType": "InheritanceSpecifier", - "src": "665:7:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 221, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "674:15:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 222, - "nodeType": "InheritanceSpecifier", - "src": "674:15:3" - } - ], - "contractDependencies": [ - 43, - 2408, - 2418 - ], + "baseContracts": [], + "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 839, + "id": 254, "linearizedBaseContracts": [ - 839, - 43, - 2418, - 2408 + 254 ], - "name": "ProxyIdentity", + "name": "OfferableIdentity", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 224, + "id": 38, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "694:20:3", + "scope": 254, + "src": "434:20:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -502,11 +570,10 @@ "typeString": "address" }, "typeName": { - "id": 223, + "id": 37, "name": "address", "nodeType": "ElementaryTypeName", - "src": "694:7:3", - "stateMutability": "nonpayable", + "src": "434:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -517,11 +584,11 @@ }, { "constant": false, - "id": 226, - "name": "creator", + "id": 40, + "name": "erc1056", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "718:22:3", + "scope": 254, + "src": "458:15:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -529,51 +596,39 @@ "typeString": "address" }, "typeName": { - "id": 225, + "id": 39, "name": "address", "nodeType": "ElementaryTypeName", - "src": "718:7:3", - "stateMutability": "nonpayable", + "src": "458:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, - "visibility": "public" + "visibility": "internal" }, { "constant": false, - "id": 229, - "name": "agents", + "id": 42, + "name": "id", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "744:23:3", + "scope": 254, + "src": "477:16:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" + "typeIdentifier": "t_string_storage", + "typeString": "string" }, "typeName": { - "baseType": { - "id": 227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "744:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 228, - "length": null, - "nodeType": "ArrayTypeName", - "src": "744:9:3", + "id": 41, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "477:6:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } }, "value": null, @@ -581,329 +636,51 @@ }, { "constant": false, - "id": 231, - "name": "erc1056", + "id": 44, + "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "771:22:3", + "scope": 254, + "src": "498:10:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": 230, - "name": "address", + "id": 43, + "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "771:7:3", - "stateMutability": "nonpayable", + "src": "498:5:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "value": null, - "visibility": "public" + "visibility": "internal" }, { "constant": false, - "id": 233, - "name": "erc1155", + "id": 46, + "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "797:22:3", + "scope": 254, + "src": "512:12:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 232, - "name": "address", + "id": 45, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "797:7:3", - "stateMutability": "nonpayable", + "src": "512:7:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 240, - "name": "defaultValidity", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "823:36:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "823:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - }, - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "849:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "852:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "849:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "849:10:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 244, - "name": "digests", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "863:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 243, - "keyType": { - "id": 241, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "871:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "863:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 242, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "882:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 247, - "name": "ERC1155_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "899:54:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 245, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "899:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "943:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 250, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "957:60:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 248, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "957:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 252, - "name": "tkn", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1021:7:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage", - "typeString": "struct ProxyIdentity.Tkn" - }, - "typeName": { - "contractScope": null, - "id": 251, - "name": "Tkn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 275, - "src": "1021:3:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage_ptr", - "typeString": "struct ProxyIdentity.Tkn" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, @@ -911,25 +688,25 @@ }, { "constant": false, - "id": 254, - "name": "__isTokenFallback", + "id": 48, + "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1032:22:3", + "scope": 254, + "src": "528:12:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 253, - "name": "bool", + "id": 47, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1032:4:3", + "src": "528:7:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, @@ -937,25 +714,25 @@ }, { "constant": false, - "id": 256, - "name": "serial", + "id": 50, + "name": "offeredTo", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1058:20:3", + "scope": 254, + "src": "544:24:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 255, - "name": "string", + "id": 49, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "1058:6:3", + "src": "544:7:0", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -963,25 +740,25 @@ }, { "constant": false, - "id": 258, - "name": "id", + "id": 52, + "name": "offerSigner", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1082:17:3", + "scope": 254, + "src": "572:26:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 257, - "name": "uint256", + "id": 51, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "1082:7:3", + "src": "572:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -989,251 +766,62 @@ }, { "constant": false, - "id": 262, - "name": "isApproved", + "id": 54, + "name": "offerHash", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1103:42:3", + "scope": 254, + "src": "602:24:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 261, - "keyType": { - "id": 259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1111:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1103:24:3", + "id": 53, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "602:7:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1122:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "public" }, - { - "canonicalName": "ProxyIdentity.Tkn", - "id": 275, - "members": [ - { - "constant": false, - "id": 264, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1167:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1167:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 266, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1185:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1185:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 268, - "name": "origin", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1205:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1205:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 270, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1225:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1225:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 272, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1244:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 271, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1244:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 274, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1260:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 273, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1260:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Tkn", - "nodeType": "StructDefinition", - "scope": 839, - "src": "1150:125:3", - "visibility": "public" - }, { "anonymous": false, "documentation": null, - "id": 283, - "name": "TransactionSent", + "id": 60, + "name": "OfferableIdentityCreated", "nodeType": "EventDefinition", "parameters": { - "id": 282, + "id": 59, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 277, + "id": 56, "indexed": false, - "name": "data", + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1301:10:3", + "scope": 60, + "src": "662:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 276, - "name": "bytes", + "id": 55, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "1301:5:3", + "src": "662:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -1241,12 +829,54 @@ }, { "constant": false, - "id": 279, + "id": 58, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "680:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 57, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "680:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "661:33:0" + }, + "src": "631:64:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 66, + "name": "IdentityOffered", + "nodeType": "EventDefinition", + "parameters": { + "id": 65, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 62, "indexed": false, - "name": "to", + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1313:10:3", + "scope": 66, + "src": "720:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1254,11 +884,10 @@ "typeString": "address" }, "typeName": { - "id": 278, + "id": 61, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1313:7:3", - "stateMutability": "nonpayable", + "src": "720:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1269,54 +898,81 @@ }, { "constant": false, - "id": 281, + "id": 64, "indexed": false, - "name": "value", + "name": "offeredTo", "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1325:13:3", + "scope": 66, + "src": "738:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 280, - "name": "uint256", + "id": 63, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "1325:7:3", + "src": "738:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "1300:39:3" + "src": "719:37:0" }, - "src": "1279:61:3" + "src": "698:59:0" }, { "anonymous": false, "documentation": null, - "id": 287, - "name": "ApprovedAgentAdded", + "id": 72, + "name": "IdentityTransferred", "nodeType": "EventDefinition", "parameters": { - "id": 286, + "id": 71, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 285, + "id": 68, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 72, + "src": "786:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 67, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "786:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 70, "indexed": false, - "name": "agent", + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 287, - "src": "1368:13:3", + "scope": 72, + "src": "804:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1324,11 +980,10 @@ "typeString": "address" }, "typeName": { - "id": 284, + "id": 69, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1368:7:3", - "stateMutability": "nonpayable", + "src": "804:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1338,28 +993,55 @@ "visibility": "internal" } ], - "src": "1367:15:3" + "src": "785:33:0" }, - "src": "1343:40:3" + "src": "760:59:0" }, { "anonymous": false, "documentation": null, - "id": 291, - "name": "ApprovedAgentRemoved", + "id": 78, + "name": "OfferRejected", "nodeType": "EventDefinition", "parameters": { - "id": 290, + "id": 77, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 289, + "id": 74, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 78, + "src": "842:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 73, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "842:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 76, "indexed": false, - "name": "agent", + "name": "offeredTo", "nodeType": "VariableDeclaration", - "scope": 291, - "src": "1413:13:3", + "scope": 78, + "src": "860:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1367,11 +1049,10 @@ "typeString": "address" }, "typeName": { - "id": 288, + "id": 75, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1413:7:3", - "stateMutability": "nonpayable", + "src": "860:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1381,78 +1062,78 @@ "visibility": "internal" } ], - "src": "1412:15:3" + "src": "841:37:0" }, - "src": "1386:42:3" + "src": "822:57:0" }, { "body": { - "id": 341, + "id": 121, "nodeType": "Block", - "src": "1548:242:3", + "src": "955:213:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 304, + "id": 89, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 302, - "name": "erc1056", + "id": 87, + "name": "id", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1554:7:3", + "referencedDeclaration": 42, + "src": "961:2:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 303, - "name": "_erc1056", + "id": 88, + "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1564:8:3", + "referencedDeclaration": 80, + "src": "966:3:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" } }, - "src": "1554:18:3", + "src": "961:8:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, - "id": 305, + "id": 90, "nodeType": "ExpressionStatement", - "src": "1554:18:3" + "src": "961:8:0" }, { "expression": { "argumentTypes": null, - "id": 308, + "id": 93, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 306, - "name": "erc1155", + "id": 91, + "name": "erc1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "1578:7:3", + "referencedDeclaration": 40, + "src": "975:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1462,369 +1143,222 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 307, - "name": "_erc1155", + "id": 92, + "name": "_erc1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1588:8:3", + "referencedDeclaration": 82, + "src": "985:8:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1578:18:3", + "src": "975:18:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 309, + "id": 94, "nodeType": "ExpressionStatement", - "src": "1578:18:3" + "src": "975:18:0" }, { - "expression": { - "argumentTypes": null, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 310, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "1602:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 311, - "name": "_serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "1611:7:3", + "assignments": [ + 96 + ], + "declarations": [ + { + "constant": false, + "id": 96, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 122, + "src": "999:17:0", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1602:16:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" + }, + "typeName": { + "contractScope": null, + "id": 95, + "name": "IERC1056", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 36, + "src": "999:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" + } + }, + "value": null, + "visibility": "internal" } - }, - "id": 313, - "nodeType": "ExpressionStatement", - "src": "1602:16:3" - }, - { - "expression": { + ], + "id": 100, + "initialValue": { "argumentTypes": null, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 314, - "name": "creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 226, - "src": "1624:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "arguments": [ + { + "argumentTypes": null, + "id": 98, + "name": "_erc1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 82, + "src": "1028:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 315, - "name": "_creator", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 97, + "name": "IERC1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1634:8:3", + "referencedDeclaration": 36, + "src": "1019:8:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_type$_t_contract$_IERC1056_$36_$", + "typeString": "type(contract IERC1056)" } }, - "src": "1624:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "1624:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 320, + "id": 99, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 318, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1648:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 319, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1656:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1648:16:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1019:18:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } }, - "id": 321, - "nodeType": "ExpressionStatement", - "src": "1648:16:3" + "nodeType": "VariableDeclarationStatement", + "src": "999:38:0" }, { "expression": { "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 322, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1670:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 324, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1693:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 323, - "name": "ERC1155Multiproxy", + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 105, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1675:17:3", + "referencedDeclaration": 284, + "src": "1072:4:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } - }, - "id": 325, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 104, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:27:3", + "nodeType": "ElementaryTypeNameExpression", + "src": "1064:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 326, + "id": 106, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "tokenCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1103, - "src": "1675:38:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1064:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1670:45:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "1670:45:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ { "argumentTypes": null, - "id": 334, - "name": "id", + "id": 107, + "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1754:2:3", + "referencedDeclaration": 84, + "src": "1079:6:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } ], "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 331, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1739:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 330, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1721:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:27:3", + "id": 101, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1043:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } }, - "id": 333, + "id": 103, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "mint", + "memberName": "changeOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 1173, - "src": "1721:32:3", + "referencedDeclaration": 21, + "src": "1043:20:0", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" } }, - "id": 335, + "id": 108, "isConstant": false, "isLValue": false, "isPure": false, @@ -1832,28 +1366,125 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1721:36:3", + "src": "1043:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 336, + "id": 109, "nodeType": "ExpressionStatement", - "src": "1721:36:3" + "src": "1043:43:0" }, { "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 110, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "1092:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 111, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1100:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1092:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 113, + "nodeType": "ExpressionStatement", + "src": "1092:14:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 116, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1150:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1142:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1142:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { "argumentTypes": null, - "id": 338, - "name": "_creator", + "id": 118, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1776:8:3", + "referencedDeclaration": 38, + "src": "1157:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1862,23 +1493,27 @@ ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, { "typeIdentifier": "t_address", "typeString": "address" } ], - "id": 337, - "name": "_addDelegate", + "id": 114, + "name": "OfferableIdentityCreated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "1763:12:3", + "referencedDeclaration": 60, + "src": "1117:24:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 339, + "id": 119, "isConstant": false, "isLValue": false, "isPure": false, @@ -1886,51 +1521,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1763:22:3", + "src": "1117:46:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 340, - "nodeType": "ExpressionStatement", - "src": "1763:22:3" + "id": 120, + "nodeType": "EmitStatement", + "src": "1112:51:0" } ] }, "documentation": null, - "id": 342, + "id": 122, "implemented": true, - "kind": "constructor", + "isConstructor": true, + "isDeclaredConst": false, "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 300, + "id": 85, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 293, - "name": "_erc1056", + "id": 80, + "name": "_id", "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1449:16:3", + "scope": 122, + "src": "895:17:0", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" }, "typeName": { - "id": 292, - "name": "address", + "id": 79, + "name": "string", "nodeType": "ElementaryTypeName", - "src": "1449:7:3", - "stateMutability": "nonpayable", + "src": "895:6:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } }, "value": null, @@ -1938,11 +1573,11 @@ }, { "constant": false, - "id": 295, - "name": "_erc1155", + "id": 82, + "name": "_erc1056", "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1471:16:3", + "scope": 122, + "src": "914:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1950,11 +1585,10 @@ "typeString": "address" }, "typeName": { - "id": 294, + "id": 81, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1471:7:3", - "stateMutability": "nonpayable", + "src": "914:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1965,37 +1599,11 @@ }, { "constant": false, - "id": 297, - "name": "_serial", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1493:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1493:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 299, - "name": "_creator", + "id": 84, + "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1520:16:3", + "scope": 122, + "src": "932:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2003,11 +1611,10 @@ "typeString": "address" }, "typeName": { - "id": 298, + "id": 83, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1520:7:3", - "stateMutability": "nonpayable", + "src": "932:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2017,25 +1624,26 @@ "visibility": "internal" } ], - "src": "1443:97:3" + "src": "894:53:0" }, + "payable": false, "returnParameters": { - "id": 301, + "id": 86, "nodeType": "ParameterList", "parameters": [], - "src": "1548:0:3" + "src": "955:0:0" }, - "scope": 839, - "src": "1432:358:3", + "scope": 254, + "src": "883:285:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 353, + "id": 133, "nodeType": "Block", - "src": "1812:68:3", + "src": "1191:68:0", "statements": [ { "expression": { @@ -2047,7 +1655,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 348, + "id": 128, "isConstant": false, "isLValue": false, "isPure": false, @@ -2056,18 +1664,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 345, + "id": 125, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1826:3:3", + "referencedDeclaration": 269, + "src": "1205:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 346, + "id": 126, "isConstant": false, "isLValue": false, "isPure": false, @@ -2075,28 +1683,28 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1826:10:3", + "src": "1205:10:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 347, + "id": 127, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1840:5:3", + "referencedDeclaration": 38, + "src": "1219:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1826:19:3", + "src": "1205:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2105,14 +1713,14 @@ { "argumentTypes": null, "hexValue": "4f6e6c79206f776e657220616c6c6f776564", - "id": 349, + "id": 129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1847:20:3", + "src": "1226:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", @@ -2132,21 +1740,21 @@ "typeString": "literal_string \"Only owner allowed\"" } ], - "id": 344, + "id": 124, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3537, - 3538 + 272, + 273 ], - "referencedDeclaration": 3538, - "src": "1818:7:3", + "referencedDeclaration": 273, + "src": "1197:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 350, + "id": 130, "isConstant": false, "isLValue": false, "isPure": false, @@ -2154,41 +1762,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1818:50:3", + "src": "1197:50:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 351, + "id": 131, "nodeType": "ExpressionStatement", - "src": "1818:50:3" + "src": "1197:50:0" }, { - "id": 352, + "id": 132, "nodeType": "PlaceholderStatement", - "src": "1874:1:3" + "src": "1253:1:0" } ] }, "documentation": null, - "id": 354, - "name": "_owner", + "id": 134, + "name": "isOwner", "nodeType": "ModifierDefinition", "parameters": { - "id": 343, + "id": 123, "nodeType": "ParameterList", "parameters": [], - "src": "1809:2:3" + "src": "1188:2:0" }, - "src": "1794:86:3", + "src": "1172:87:0", "visibility": "internal" }, { "body": { - "id": 370, + "id": 154, "nodeType": "Block", - "src": "1913:145:3", + "src": "1286:146:0", "statements": [ { "expression": { @@ -2197,134 +1805,86 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 365, + "id": 141, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { + "id": 137, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1300:9:0", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1934:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1934:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 359, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1948:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1934:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "||", + "operator": "!=", "rightExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "1957:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 364, - "indexExpression": { - "argumentTypes": null, - "expression": { + "arguments": [ + { "argumentTypes": null, - "id": 362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1968:3:3", + "hexValue": "30", + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1321:1:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "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": 363, + ], + "id": 138, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1968:10:3", + "nodeType": "ElementaryTypeNameExpression", + "src": "1313:7:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, + "id": 140, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1957:22:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1313:10:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "1934:45:3", + "src": "1300:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2332,21 +1892,21 @@ }, { "argumentTypes": null, - "hexValue": "50726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564", - "id": 366, + "hexValue": "50726f7879206973206e6f74206f666665726564", + "id": 142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1987:53:3", + "src": "1325:22:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" }, - "value": "ProxyIdentity: Only owner or approved agent allowed" + "value": "Proxy is not offered" } ], "expression": { @@ -2356,25 +1916,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" } ], - "id": 356, + "id": 136, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3537, - 3538 + 272, + 273 ], - "referencedDeclaration": 3538, - "src": "1919:7:3", + "referencedDeclaration": 273, + "src": "1292:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 367, + "id": 143, "isConstant": false, "isLValue": false, "isPure": false, @@ -2382,167 +1942,287 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1919:127:3", + "src": "1292:56:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 368, + "id": 144, "nodeType": "ExpressionStatement", - "src": "1919:127:3" + "src": "1292:56:0" }, { - "id": 369, - "nodeType": "PlaceholderStatement", - "src": "2052:1:3" - } - ] - }, - "documentation": null, - "id": 371, - "name": "isOwnerOrApproved", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 355, - "nodeType": "ParameterList", - "parameters": [], - "src": "1910:2:3" - }, - "src": "1884:174:3", - "visibility": "internal" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "2084:111:3", - "statements": [ - { - "condition": { + "expression": { "argumentTypes": null, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2094:18:3", - "subExpression": { - "argumentTypes": null, - "id": 373, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "2095:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 379, - "nodeType": "IfStatement", - "src": "2090:93:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "hexValue": "4d6574686f642063616e20626520696e766f6b6564206f6e6c792061732070617274206f6620455243323233207472616e73666572", - "id": 376, + "expression": { + "argumentTypes": null, + "id": 146, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 269, + "src": "1362:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 147, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "string", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "2127:55:3", - "subdenomination": null, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1362:10:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - }, - "value": "Method can be invoked only as part of ERC223 transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 375, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3539, - 3540 - ], - "referencedDeclaration": 3540, - "src": "2120:6:3", + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 148, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1376:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1362:23:0", "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2120:63:3", + { + "argumentTypes": null, + "hexValue": "50726f7879206f66666572656420746f206f74686572206163636f756e74", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1387:32:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + }, + "value": "Proxy offered to other account" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + } + ], + "id": 145, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 272, + 273 + ], + "referencedDeclaration": 273, + "src": "1354:7:0", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 378, - "nodeType": "ExpressionStatement", - "src": "2120:63:3" - } + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1354:66:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 152, + "nodeType": "ExpressionStatement", + "src": "1354:66:0" }, { - "id": 380, + "id": 153, "nodeType": "PlaceholderStatement", - "src": "2189:1:3" + "src": "1426:1:0" } ] }, "documentation": null, - "id": 382, - "name": "tokenPayable", + "id": 155, + "name": "isOfferedTo", "nodeType": "ModifierDefinition", "parameters": { - "id": 372, + "id": 135, "nodeType": "ParameterList", "parameters": [], - "src": "2084:0:3" + "src": "1283:2:0" }, - "src": "2062:133:3", + "src": "1263:169:0", "visibility": "internal" }, { "body": { - "id": 402, + "id": 181, "nodeType": "Block", - "src": "2311:80:3", + "src": "1509:120:0", "statements": [ { "expression": { + "argumentTypes": null, + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 164, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1515:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 165, + "name": "_offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1527:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1515:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 167, + "nodeType": "ExpressionStatement", + "src": "1515:22:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 171, + "name": "changeOwnerTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1557:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 168, + "name": "erc1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "1544:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1544:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", + "typeString": "function () payable returns (bool)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1544:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 173, + "nodeType": "ExpressionStatement", + "src": "1544:27:0" + }, + { + "eventCall": { "argumentTypes": null, "arguments": [ { @@ -2550,129 +2230,89 @@ "arguments": [ { "argumentTypes": null, - "id": 395, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 384, - "src": "2342:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 396, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "2349:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 397, - "name": "value", + "id": 176, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "2353:5:3", + "referencedDeclaration": 284, + "src": "1607:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } ], - "id": 394, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2325:16:3", + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1599:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 398, + "id": 177, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2325:34:3", + "src": "1599:13:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2361:24:3", - "subdenomination": null, + "id": 178, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1614:9:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" + "typeIdentifier": "t_address", + "typeString": "address" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 393, - "name": "require", + "id": 174, + "name": "IdentityOffered", "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2317:7:3", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "1583:15:0", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 400, + "id": 179, "isConstant": false, "isLValue": false, "isPure": false, @@ -2680,67 +2320,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2317:69:3", + "src": "1583:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "2317:69:3" + "id": 180, + "nodeType": "EmitStatement", + "src": "1578:46:0" } ] }, "documentation": null, - "id": 403, + "id": 182, "implemented": true, - "kind": "function", + "isConstructor": false, + "isDeclaredConst": false, "modifiers": [ { - "arguments": [], - "id": 391, + "arguments": null, + "id": 162, "modifierName": { "argumentTypes": null, - "id": 390, - "name": "_owner", + "id": 161, + "name": "isOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "2302:6:3", + "referencedDeclaration": 134, + "src": "1501:7:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2302:8:3" + "src": "1501:7:0" } ], - "name": "sendTransaction", + "name": "offer", "nodeType": "FunctionDefinition", "parameters": { - "id": 389, + "id": 160, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 384, - "name": "_data", + "id": 157, + "name": "changeOwnerTx", "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2229:18:3", + "scope": 182, + "src": "1451:19:0", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", + "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes" }, "typeName": { - "id": 383, + "id": 156, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2229:5:3", + "src": "1451:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2751,11 +2392,11 @@ }, { "constant": false, - "id": 386, - "name": "to", + "id": 159, + "name": "_offeredTo", "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2253:10:3", + "scope": 182, + "src": "1472:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2763,11 +2404,10 @@ "typeString": "address" }, "typeName": { - "id": 385, + "id": 158, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2253:7:3", - "stateMutability": "nonpayable", + "src": "1472:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2775,88 +2415,31 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 388, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2269:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2269:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" } ], - "src": "2223:63:3" + "src": "1450:41:0" }, + "payable": false, "returnParameters": { - "id": 392, + "id": 163, "nodeType": "ParameterList", "parameters": [], - "src": "2311:0:3" + "src": "1509:0:0" }, - "scope": 839, - "src": "2199:192:3", - "stateMutability": "payable", + "scope": 254, + "src": "1436:193:0", + "stateMutability": "nonpayable", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": { - "id": 482, + "id": 214, "nodeType": "Block", - "src": "2565:481:3", + "src": "1672:223:0", "statements": [ { - "assignments": [ - 421 - ], - "declarations": [ - { - "constant": false, - "id": 421, - "name": "digest", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2571:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 420, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2571:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 431, - "initialValue": { + "expression": { "argumentTypes": null, "arguments": [ { @@ -2864,279 +2447,192 @@ "arguments": [ { "argumentTypes": null, - "id": 425, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2609:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 426, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "2615:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 427, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "2619:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 428, - "name": "nonce", + "id": 192, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "2626:5:3", + "referencedDeclaration": 284, + "src": "1729:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } ], - "expression": { - "argumentTypes": null, - "id": 423, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2598:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 424, + "id": 191, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2598:10:3", + "nodeType": "ElementaryTypeNameExpression", + "src": "1721:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 429, + "id": 193, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2598:34:3", + "src": "1721:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 194, + "name": "sigV", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "1742:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 195, + "name": "sigR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "1754:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 196, + "name": "sigS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "1766:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 197, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1778:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 422, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2588:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2588:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2571:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { + "arguments": [ + { "argumentTypes": null, - "id": 433, - "name": "digests", + "id": 188, + "name": "erc1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2647:7:3", + "referencedDeclaration": 40, + "src": "1687:7:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": 435, - "indexExpression": { - "argumentTypes": null, - "id": 434, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2655:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2647:15:3", + ], + "id": 187, + "name": "IERC1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1678:8:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_type$_t_contract$_IERC1056_$36_$", + "typeString": "type(contract IERC1056)" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2666:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2647:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e74", - "id": 438, + "id": 189, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "string", + "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "Literal", - "src": "2673:40:3", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "1678:17:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - }, - "value": "This transaction has already been sent" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } - ], - "id": 432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2639:7:3", + }, + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "changeOwnerSigned", + "nodeType": "MemberAccess", + "referencedDeclaration": 14, + "src": "1678:35:0", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (address,uint8,bytes32,bytes32,address) external" } }, - "id": 439, + "id": 198, "isConstant": false, "isLValue": false, "isPure": false, @@ -3144,128 +2640,64 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2639:75:3", + "src": "1678:115:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 440, + "id": 199, "nodeType": "ExpressionStatement", - "src": "2639:75:3" + "src": "1678:115:0" }, { "expression": { "argumentTypes": null, - "id": 445, + "id": 202, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 441, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2720:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 443, - "indexExpression": { - "argumentTypes": null, - "id": 442, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2728:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2720:15:3", + "id": 200, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "1799:5:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "hexValue": "74727565", - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2738:4:3", - "subdenomination": null, + "id": 201, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1807:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "src": "2720:22:3", + "src": "1799:17:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 446, + "id": 203, "nodeType": "ExpressionStatement", - "src": "2720:22:3" + "src": "1799:17:0" }, { - "assignments": [ - 448 - ], - "declarations": [ - { - "constant": false, - "id": 448, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2748:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 447, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 456, - "initialValue": { + "eventCall": { "argumentTypes": null, "arguments": [ { @@ -3273,108 +2705,89 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2797:34:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "argumentTypes": null, - "id": 453, - "name": "digest", + "id": 206, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2833:6:3", + "referencedDeclaration": 284, + "src": "1855:4:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } ], - "expression": { - "argumentTypes": null, - "id": 450, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2780:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 451, + "id": 205, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2780:16:3", + "nodeType": "ElementaryTypeNameExpression", + "src": "1847:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 454, + "id": 207, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2780:60:3", + "src": "1847:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 208, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1862:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 449, - "name": "keccak256", + "id": 204, + "name": "IdentityTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2763:9:3", + "referencedDeclaration": 72, + "src": "1827:19:0", "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 455, + "id": 209, "isConstant": false, "isLValue": false, "isPure": false, @@ -3382,136 +2795,198 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2763:83:3", + "src": "1827:45:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2748:98:3" + "id": 210, + "nodeType": "EmitStatement", + "src": "1822:50:0" }, { - "assignments": [ - 458 - ], - "declarations": [ - { - "constant": false, - "id": 458, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2852:14:3", - "stateVariable": false, - "storageLocation": "default", + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 211, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "1878:10:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2852:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1878:12:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } - ], - "id": 465, - "initialValue": { + }, + "id": 213, + "nodeType": "ExpressionStatement", + "src": "1878:12:0" + } + ] + }, + "documentation": null, + "id": 215, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 185, + "modifierName": { + "argumentTypes": null, + "id": 184, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "1660:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1660:11:0" + } + ], + "name": "accept", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 183, + "nodeType": "ParameterList", + "parameters": [], + "src": "1648:2:0" + }, + "payable": false, + "returnParameters": { + "id": 186, + "nodeType": "ParameterList", + "parameters": [], + "src": "1672:0:0" + }, + "scope": 254, + "src": "1633:262:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 230, + "nodeType": "Block", + "src": "1938:73:0", + "statements": [ + { + "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 460, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "2879:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 461, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "2885:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 462, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "2888:1:3", + "arguments": [ + { + "argumentTypes": null, + "id": 222, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1971:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1963:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1963:13:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 463, - "name": "s", + "id": 224, + "name": "offeredTo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "2891:1:3", + "referencedDeclaration": 50, + "src": "1978:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 459, - "name": "ecrecover", + "id": 220, + "name": "OfferRejected", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3526, - "src": "2869:9:3", + "referencedDeclaration": 78, + "src": "1949:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 464, + "id": 225, "isConstant": false, "isLValue": false, "isPure": false, @@ -3519,109 +2994,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2869:24:3", + "src": "1949:39:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2852:41:3" + "id": 226, + "nodeType": "EmitStatement", + "src": "1944:44:0" }, { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 467, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 458, - "src": "2914:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 468, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "2924:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2914:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5369676e6174757265206973206e6f742076616c6964", - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2937:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - }, - "value": "Signature is not valid" - } - ], + "arguments": [], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - } - ], - "id": 466, - "name": "require", + "argumentTypes": [], + "id": 227, + "name": "closeOffer", "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2899:7:3", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "1994:10:0", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" } }, - "id": 471, + "id": 228, "isConstant": false, "isLValue": false, "isPure": false, @@ -3629,211 +3029,406 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2899:68:3", + "src": "1994:12:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 472, + "id": 229, "nodeType": "ExpressionStatement", - "src": "2899:68:3" + "src": "1994:12:0" + } + ] + }, + "documentation": null, + "id": 231, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 218, + "modifierName": { + "argumentTypes": null, + "id": 217, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "1926:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } }, + "nodeType": "ModifierInvocation", + "src": "1926:11:0" + } + ], + "name": "reject", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [], + "src": "1914:2:0" + }, + "payable": false, + "returnParameters": { + "id": 219, + "nodeType": "ParameterList", + "parameters": [], + "src": "1938:0:0" + }, + "scope": 254, + "src": "1899:112:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 252, + "nodeType": "Block", + "src": "2046:77:0", + "statements": [ { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 475, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2998:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 476, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "3004:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 234, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "2052:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2072:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ { - "argumentTypes": null, - "id": 477, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "3008:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 474, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2981:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2981:33:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 479, + "id": 235, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "string", "lValueRequested": false, - "nodeType": "Literal", - "src": "3016:24:3", - "subdenomination": null, + "nodeType": "ElementaryTypeNameExpression", + "src": "2064:7:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2973:7:3", + "typeName": "address" + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2064:10:0", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2973:68:3", + "src": "2052:22:0", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 481, + "id": 239, "nodeType": "ExpressionStatement", - "src": "2973:68:3" - } - ] - }, - "documentation": null, - "id": 483, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendSignedTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 405, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2431:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 404, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2431:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" + "src": "2052:22:0" }, + { + "expression": { + "argumentTypes": null, + "id": 242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 240, + "name": "sigV", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "2080:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2087:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2080:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 243, + "nodeType": "ExpressionStatement", + "src": "2080:8:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 244, + "name": "sigR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "2094:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2101:2:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2094:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 247, + "nodeType": "ExpressionStatement", + "src": "2094:9:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 248, + "name": "sigS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "2109:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2116:2:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2109:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 251, + "nodeType": "ExpressionStatement", + "src": "2109:9:0" + } + ] + }, + "documentation": null, + "id": 253, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 232, + "nodeType": "ParameterList", + "parameters": [], + "src": "2034:2:0" + }, + "payable": false, + "returnParameters": { + "id": 233, + "nodeType": "ParameterList", + "parameters": [], + "src": "2046:0:0" + }, + "scope": 254, + "src": "2015:108:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 255, + "src": "403:1722:0" + } + ], + "src": "0:2126:0" + }, + "legacyAST": { + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", + "exportedSymbols": { + "IERC1056": [ + 36 + ], + "OfferableIdentity": [ + 254 + ] + }, + "id": 255, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 36, + "linearizedBaseContracts": [ + 36 + ], + "name": "IERC1056", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 14, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "changeOwnerSigned", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 407, - "name": "to", + "id": 3, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2454:10:3", + "scope": 14, + "src": "81:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3841,11 +3436,10 @@ "typeString": "address" }, "typeName": { - "id": 406, + "id": 2, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2454:7:3", - "stateMutability": "nonpayable", + "src": "81:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3856,11 +3450,11 @@ }, { "constant": false, - "id": 409, - "name": "v", + "id": 5, + "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2470:7:3", + "scope": 14, + "src": "103:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3868,10 +3462,10 @@ "typeString": "uint8" }, "typeName": { - "id": 408, + "id": 4, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2470:5:3", + "src": "103:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3882,11 +3476,11 @@ }, { "constant": false, - "id": 411, - "name": "r", + "id": 7, + "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2483:9:3", + "scope": 14, + "src": "119:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3894,10 +3488,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 410, + "id": 6, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2483:7:3", + "src": "119:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3908,11 +3502,11 @@ }, { "constant": false, - "id": 413, - "name": "s", + "id": 9, + "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2498:9:3", + "scope": 14, + "src": "137:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3920,10 +3514,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 412, + "id": 8, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2498:7:3", + "src": "137:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3934,25 +3528,81 @@ }, { "constant": false, - "id": 415, - "name": "value", + "id": 11, + "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2513:13:3", + "scope": 14, + "src": "155:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 414, - "name": "uint256", + "id": 10, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "2513:7:3", + "src": "155:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "75:100:0" + }, + "payable": false, + "returnParameters": { + "id": 13, + "nodeType": "ParameterList", + "parameters": [], + "src": "184:0:0" + }, + "scope": 36, + "src": "49:136:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 21, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "changeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "210:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "210:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -3960,145 +3610,101 @@ }, { "constant": false, - "id": 417, - "name": "nonce", + "id": 18, + "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2532:13:3", + "scope": 21, + "src": "228:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 416, - "name": "uint256", + "id": 17, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "2532:7:3", + "src": "228:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "2425:124:3" + "src": "209:36:0" }, + "payable": false, "returnParameters": { - "id": 419, + "id": 20, "nodeType": "ParameterList", "parameters": [], - "src": "2565:0:3" + "src": "254:0:0" }, - "scope": 839, - "src": "2395:651:3", - "stateMutability": "payable", + "scope": 36, + "src": "189:66:0", + "stateMutability": "nonpayable", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { - "body": { - "id": 494, - "nodeType": "Block", - "src": "3105:33:3", - "statements": [ + "body": null, + "documentation": null, + "id": 28, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "identityOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 491, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "3124:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 490, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "3111:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3111:22:3", + "constant": false, + "id": 23, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 28, + "src": "282:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "282:7:0", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "3111:22:3" + "value": null, + "visibility": "internal" } - ] + ], + "src": "281:18:0" }, - "documentation": null, - "id": 495, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 488, - "modifierName": { - "argumentTypes": null, - "id": 487, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3096:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3096:8:3" - } - ], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 486, + "payable": false, + "returnParameters": { + "id": 27, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 485, - "name": "delegate", + "id": 26, + "name": "", "nodeType": "VariableDeclaration", - "scope": 495, - "src": "3071:16:3", + "scope": 28, + "src": "323:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4106,11 +3712,10 @@ "typeString": "address" }, "typeName": { - "id": 484, + "id": 25, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3071:7:3", - "stateMutability": "nonpayable", + "src": "323:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4120,249 +3725,35 @@ "visibility": "internal" } ], - "src": "3070:18:3" + "src": "322:9:0" }, - "returnParameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [], - "src": "3105:0:3" - }, - "scope": 839, - "src": "3050:88:3", - "stateMutability": "nonpayable", + "scope": 36, + "src": "259:73:0", + "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { - "body": { - "id": 513, - "nodeType": "Block", - "src": "3200:79:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 507, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3247:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3254:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 510, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "3265:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 503, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3215:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 502, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3206:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokeDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 215, - "src": "3206:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address) external" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 512, - "nodeType": "ExpressionStatement", - "src": "3206:68:3" - } - ] - }, + "body": null, "documentation": null, - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 500, - "modifierName": { - "argumentTypes": null, - "id": 499, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3191:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3191:8:3" - } - ], - "name": "revokeDelegate", + "id": 35, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "nonce", "nodeType": "FunctionDefinition", "parameters": { - "id": 498, + "id": 31, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 497, - "name": "delegate", + "id": 30, + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 514, - "src": "3166:16:3", + "scope": 35, + "src": "351:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4370,11 +3761,10 @@ "typeString": "address" }, "typeName": { - "id": 496, + "id": 29, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3166:7:3", - "stateMutability": "nonpayable", + "src": "351:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4384,9714 +3774,317 @@ "visibility": "internal" } ], - "src": "3165:18:3" + "src": "350:15:0" }, + "payable": false, "returnParameters": { - "id": 501, + "id": 34, "nodeType": "ParameterList", - "parameters": [], - "src": "3200:0:3" - }, - "scope": 839, - "src": "3142:137:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 525, - "nodeType": "Block", - "src": "3347:27:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 521, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "3353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 522, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "3361:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3353:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 524, - "nodeType": "ExpressionStatement", - "src": "3353:16:3" - } - ] - }, - "documentation": null, - "id": 526, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 519, - "modifierName": { - "argumentTypes": null, - "id": 518, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3329:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3329:17:3" - } - ], - "name": "changeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ + "parameters": [ { "constant": false, - "id": 516, - "name": "newOwner", + "id": 33, + "name": "", "nodeType": "VariableDeclaration", - "scope": 526, - "src": "3304:16:3", + "scope": 35, + "src": "389:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 515, - "name": "address", + "id": 32, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "stateMutability": "nonpayable", + "src": "389:7:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "3303:18:3" - }, - "returnParameters": { - "id": 520, - "nodeType": "ParameterList", - "parameters": [], - "src": "3347:0:3" + "src": "388:9:0" }, - "scope": 839, - "src": "3283:91:3", - "stateMutability": "nonpayable", + "scope": 36, + "src": "336:62:0", + "stateMutability": "view", "superFunction": null, + "visibility": "external" + } + ], + "scope": 255, + "src": "26:374:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 254, + "linearizedBaseContracts": [ + 254 + ], + "name": "OfferableIdentity", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 38, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "434:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 37, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "434:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, "visibility": "public" }, { - "body": { - "id": 547, - "nodeType": "Block", - "src": "3444:98:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 533, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 535, - "indexExpression": { - "argumentTypes": null, - "id": 534, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3461:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3450:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3470:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3450:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 538, - "nodeType": "ExpressionStatement", - "src": "3450:24:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 543, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3525:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 540, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 539, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3480:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3480:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:57:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 546, - "nodeType": "ExpressionStatement", - "src": "3480:57:3" - } - ] + "constant": false, + "id": 40, + "name": "erc1056", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "458:15:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "documentation": null, - "id": 548, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 531, - "modifierName": { - "argumentTypes": null, - "id": 530, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3426:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3426:17:3" - } - ], - "name": "addApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 528, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "3404:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 527, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3404:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3403:15:3" - }, - "returnParameters": { - "id": 532, - "nodeType": "ParameterList", - "parameters": [], - "src": "3444:0:3" - }, - "scope": 839, - "src": "3378:164:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 569, - "nodeType": "Block", - "src": "3615:100:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 555, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3621:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 557, - "indexExpression": { - "argumentTypes": null, - "id": 556, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3632:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3621:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3641:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3621:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3621:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 565, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3697:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3704:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 562, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3670:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 561, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3652:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3652:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:58:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 568, - "nodeType": "ExpressionStatement", - "src": "3652:58:3" - } - ] - }, - "documentation": null, - "id": 570, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 553, - "modifierName": { - "argumentTypes": null, - "id": 552, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3597:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3597:17:3" - } - ], - "name": "removeApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 550, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 570, - "src": "3575:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3575:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3574:15:3" - }, - "returnParameters": { - "id": 554, - "nodeType": "ParameterList", - "parameters": [], - "src": "3615:0:3" - }, - "scope": 839, - "src": "3546:169:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 582, - "nodeType": "Block", - "src": "3770:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3814:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 576, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3801:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 575, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3783:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "3783:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view external returns (string memory)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:34:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 574, - "id": 581, - "nodeType": "Return", - "src": "3776:41:3" - } - ] - }, - "documentation": null, - "id": 583, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 571, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:2:3" - }, - "returnParameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 573, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 583, - "src": "3755:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3755:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3754:15:3" - }, - "scope": 839, - "src": "3719:103:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 596, - "nodeType": "Block", - "src": "3872:57:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 592, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3915:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 593, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "3919:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 589, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3896:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 588, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3878:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateUri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1142, - "src": "3878:36:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "3878:46:3" - } - ] - }, - "documentation": null, - "id": 597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 597, - "src": "3845:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 584, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3845:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:20:3" - }, - "returnParameters": { - "id": 587, - "nodeType": "ParameterList", - "parameters": [], - "src": "3872:0:3" - }, - "scope": 839, - "src": "3826:103:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 614, - "nodeType": "Block", - "src": "4095:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 612, - "name": "ERC1155_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "4108:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 611, - "id": 613, - "nodeType": "Return", - "src": "4101:23:3" - } - ] - }, - "documentation": null, - "id": 615, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 599, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3965:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3965:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 601, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3988:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3988:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 603, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4007:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4007:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 605, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4024:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 607, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4044:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 606, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4044:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3959:109:3" - }, - "returnParameters": { - "id": 611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 610, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4087:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 609, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4087:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4086:8:3" - }, - "scope": 839, - "src": "3933:196:3", - "stateMutability": "nonpayable", - "superFunction": 2383, - "visibility": "external" - }, - { - "body": { - "id": 634, - "nodeType": "Block", - "src": "4324:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 632, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4337:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 631, - "id": 633, - "nodeType": "Return", - "src": "4330:29:3" - } - ] - }, - "documentation": null, - "id": 635, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 617, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4170:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4170:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 619, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4193:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4193:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 622, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4212:23:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4212:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 621, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4212:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 625, - "name": "_values", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4241:26:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 624, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4241:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 627, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4273:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 626, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4273:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4164:133:3" - }, - "returnParameters": { - "id": 631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 630, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4316:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 629, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4316:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4315:8:3" - }, - "scope": 839, - "src": "4133:231:3", - "stateMutability": "nonpayable", - "superFunction": 2400, - "visibility": "external" - }, - { - "body": { - "id": 662, - "nodeType": "Block", - "src": "4489:258:3", - "statements": [ - { - "assignments": [ - 647 - ], - "declarations": [ - { - "constant": false, - "id": 647, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4495:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 649, - "initialValue": { - "argumentTypes": null, - "id": 648, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4515:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4495:25:3" - }, - { - "assignments": [ - 651 - ], - "declarations": [ - { - "constant": false, - "id": 651, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4526:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4526:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 654, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 652, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "4540:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4540:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4526:25:3" - }, - { - "externalReferences": [ - { - "success": { - "declaration": 644, - "isOffset": false, - "isSlot": false, - "src": "4634:7:3", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 647, - "isOffset": false, - "isSlot": false, - "src": "4670:4:3", - "valueSize": 1 - } - }, - { - "to": { - "declaration": 639, - "isOffset": false, - "isSlot": false, - "src": "4655:2:3", - "valueSize": 1 - } - }, - { - "value": { - "declaration": 641, - "isOffset": false, - "isSlot": false, - "src": "4659:5:3", - "valueSize": 1 - } - }, - { - "len": { - "declaration": 651, - "isOffset": false, - "isSlot": false, - "src": "4683:3:3", - "valueSize": 1 - } - } - ], - "id": 655, - "nodeType": "InlineAssembly", - "operations": "{\n success := call(gas(), to, value, add(data, 0x20), len, 0, 0)\n}", - "src": "4617:82:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 657, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4725:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 658, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4732:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 659, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "4736:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 656, - "name": "TransactionSent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "4709:15:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (bytes memory,address,uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4709:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "EmitStatement", - "src": "4704:38:3" - } - ] - }, - "documentation": null, - "id": 663, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 637, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4399:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 636, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4399:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 639, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4423:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4423:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 641, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4439:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4393:63:3" - }, - "returnParameters": { - "id": 645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 644, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4475:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 643, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4475:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4474:14:3" - }, - "scope": 839, - "src": "4368:379:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 680, - "nodeType": "Block", - "src": "4800:123:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "4851:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4843:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4843:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4864:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 676, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "4881:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 677, - "name": "defaultValidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "4897:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 669, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4815:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 668, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "4806:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 206, - "src": "4806:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,address,uint256) external" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:112:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 679, - "nodeType": "ExpressionStatement", - "src": "4806:112:3" - } - ] - }, - "documentation": null, - "id": 681, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 665, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 681, - "src": "4773:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 664, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4773:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4772:18:3" - }, - "returnParameters": { - "id": 667, - "nodeType": "ParameterList", - "parameters": [], - "src": "4800:0:3" - }, - "scope": 839, - "src": "4751:172:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 684, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5021:63:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 682, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5021:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 687, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5271:77:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 685, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5271:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783465323331326530", - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5338:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1310921440_by_1", - "typeString": "int_const 1310921440" - }, - "value": "0x4e2312e0" - }, - "visibility": "private" - }, - { - "body": { - "id": 707, - "nodeType": "Block", - "src": "5641:180:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 694, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5658:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 695, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "5674:26:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5658:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 697, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5710:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 698, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "5726:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5710:56:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5658:108:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 704, - "nodeType": "IfStatement", - "src": "5647:152:3", - "trueBody": { - "id": 703, - "nodeType": "Block", - "src": "5773:26:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5788:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 693, - "id": 702, - "nodeType": "Return", - "src": "5781:11:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5811:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 693, - "id": 706, - "nodeType": "Return", - "src": "5804:12:3" - } - ] - }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 708, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 689, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5591:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 688, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5591:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5590:21:3" - }, - "returnParameters": { - "id": 693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 692, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5635:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5635:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5634:6:3" - }, - "scope": 839, - "src": "5564:257:3", - "stateMutability": "view", - "superFunction": 2417, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 716, - "name": "CallbackOnTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 710, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5850:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 709, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5850:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 712, - "indexed": false, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5862:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 711, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5862:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 714, - "indexed": false, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5876:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5876:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5849:42:3" - }, - "src": "5825:67:3" - }, - { - "body": { - "id": 763, - "nodeType": "Block", - "src": "6031:311:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6041:26:3", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 730, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6056:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6056:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 729, - "name": "supportsToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "6042:13:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6042:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 736, - "nodeType": "IfStatement", - "src": "6037:44:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6076:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 728, - "id": 735, - "nodeType": "Return", - "src": "6069:12:3" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 737, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6087:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6107:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6087:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 740, - "nodeType": "ExpressionStatement", - "src": "6087:24:3" - }, - { - "assignments": [ - 742, - null - ], - "declarations": [ - { - "constant": false, - "id": 742, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6178:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 741, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6178:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 749, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 747, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6223:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 744, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "6204:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6196:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6196:26:3", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6177:52:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 750, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6235:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6255:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6235:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 753, - "nodeType": "ExpressionStatement", - "src": "6235:25:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 755, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6290:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 756, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6297:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6306:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6306:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 754, - "name": "CallbackOnTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "6271:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_bool_$_t_address_$returns$__$", - "typeString": "function (bytes memory,bool,address)" - } - }, - "id": 759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6271:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 760, - "nodeType": "EmitStatement", - "src": "6266:51:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 761, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6330:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 728, - "id": 762, - "nodeType": "Return", - "src": "6323:14:3" - } - ] - }, - "documentation": null, - "id": 764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 718, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5924:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5924:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 720, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5945:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5945:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 722, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5966:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5966:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 724, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5986:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 723, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5986:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:90:3" - }, - "returnParameters": { - "id": 728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 727, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "6025:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 726, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6025:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6024:6:3" - }, - "scope": 839, - "src": "5896:446:3", - "stateMutability": "nonpayable", - "superFunction": 42, - "visibility": "public" - }, - { - "body": { - "id": 823, - "nodeType": "Block", - "src": "6416:202:3", - "statements": [ - { - "assignments": [ - 772 - ], - "declarations": [ - { - "constant": false, - "id": 772, - "name": "l", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "6422:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6422:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 781, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 773, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6434:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6434:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6449:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "6434:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6468:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "6434:35:3", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 777, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6453:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6453:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6422:47:3" - }, - { - "body": { - "id": 821, - "nodeType": "Block", - "src": "6507:107:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 792, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6515:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6551:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6544:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6544:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 799, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6564:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 800, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6570:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6558:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6558:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6577:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6581:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 805, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6586:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6590:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6586:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 808, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6594:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6586:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 810, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6585:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6581:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 812, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6580:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6577:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 814, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6576:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6558:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6544:54:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6537:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6537:62:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6521:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" - }, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6521:86:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "6515:92:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 820, - "nodeType": "ExpressionStatement", - "src": "6515:92:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 786, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6495:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 787, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6499:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 822, - "initializationExpression": { - "assignments": [ - 783 - ], - "declarations": [ - { - "constant": false, - "id": 783, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "6480:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6480:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 785, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6492:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6480:13:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6502:3:3", - "subExpression": { - "argumentTypes": null, - "id": 789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6502:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 791, - "nodeType": "ExpressionStatement", - "src": "6502:3:3" - }, - "nodeType": "ForStatement", - "src": "6475:139:3" - } - ] - }, - "documentation": null, - "id": 824, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 766, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6362:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 765, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6362:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6361:20:3" - }, - "returnParameters": { - "id": 770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 769, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6404:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 768, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "6404:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6403:12:3" - }, - "scope": 839, - "src": "6346:272:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 833, - "nodeType": "Block", - "src": "6687:22:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6700:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 830, - "id": 832, - "nodeType": "Return", - "src": "6693:11:3" - } - ] - }, - "documentation": null, - "id": 834, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 826, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6645:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6645:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6644:15:3" - }, - "returnParameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6681:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 828, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6681:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6680:6:3" - }, - "scope": 839, - "src": "6622:87:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 837, - "nodeType": "Block", - "src": "6741:2:3", - "statements": [] - }, - "documentation": null, - "id": 838, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 835, - "nodeType": "ParameterList", - "parameters": [], - "src": "6721:2:3" - }, - "returnParameters": { - "id": 836, - "nodeType": "ParameterList", - "parameters": [], - "src": "6741:0:3" - }, - "scope": 839, - "src": "6713:30:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "616:6129:3" - } - ], - "src": "0:6746:3" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "exportedSymbols": { - "IERC1056": [ - 216 - ], - "ProxyIdentity": [ - 839 - ] - }, - "id": 840, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 189, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "multi-token-standard/contracts/interfaces/IERC165.sol", - "id": 190, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2419, - "src": "25:63:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "id": 191, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2367, - "src": "89:64:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "id": 192, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2409, - "src": "154:77:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "./interfaces/IERC223Receiver.sol", - "id": 193, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 44, - "src": "232:42:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "./interfaces/IERC223.sol", - "id": 194, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 28, - "src": "275:34:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "file": "./tokens/ERC1155Multiproxy.sol", - "id": 195, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 1184, - "src": "310:40:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 216, - "linearizedBaseContracts": [ - 216 - ], - "name": "IERC1056", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 206, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 197, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "401:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 196, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "401:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 199, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "423:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 198, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "423:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 201, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 203, - "name": "validity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "471:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:96:3" - }, - "returnParameters": { - "id": 205, - "nodeType": "ParameterList", - "parameters": [], - "src": "500:0:3" - }, - "scope": 216, - "src": "375:126:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 215, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 208, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "534:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 210, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "556:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 209, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "556:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 212, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "582:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 211, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "582:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "528:74:3" - }, - "returnParameters": { - "id": 214, - "nodeType": "ParameterList", - "parameters": [], - "src": "611:0:3" - }, - "scope": 216, - "src": "505:107:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "352:262:3" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 217, - "name": "IERC1155TokenReceiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2408, - "src": "642:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2408", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 218, - "nodeType": "InheritanceSpecifier", - "src": "642:21:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 219, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2418, - "src": "665:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2418", - "typeString": "contract IERC165" - } - }, - "id": 220, - "nodeType": "InheritanceSpecifier", - "src": "665:7:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 221, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "674:15:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 222, - "nodeType": "InheritanceSpecifier", - "src": "674:15:3" - } - ], - "contractDependencies": [ - 43, - 2408, - 2418 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 839, - "linearizedBaseContracts": [ - 839, - 43, - 2418, - 2408 - ], - "name": "ProxyIdentity", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 224, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "694:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "694:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 226, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "718:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 225, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "718:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 229, - "name": "agents", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "744:23:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "744:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 228, - "length": null, - "nodeType": "ArrayTypeName", - "src": "744:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 231, - "name": "erc1056", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "771:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "771:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 233, - "name": "erc1155", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "797:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "797:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 240, - "name": "defaultValidity", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "823:36:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "823:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - }, - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "849:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "852:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "849:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "849:10:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 244, - "name": "digests", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "863:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 243, - "keyType": { - "id": 241, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "871:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "863:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 242, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "882:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 247, - "name": "ERC1155_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "899:54:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 245, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "899:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "943:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 250, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "957:60:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 248, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "957:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 252, - "name": "tkn", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1021:7:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage", - "typeString": "struct ProxyIdentity.Tkn" - }, - "typeName": { - "contractScope": null, - "id": 251, - "name": "Tkn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 275, - "src": "1021:3:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage_ptr", - "typeString": "struct ProxyIdentity.Tkn" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 254, - "name": "__isTokenFallback", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1032:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 253, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1032:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 256, - "name": "serial", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1058:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 255, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1058:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 258, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1082:17:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1082:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 262, - "name": "isApproved", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1103:42:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 261, - "keyType": { - "id": 259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1111:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1103:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1122:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ProxyIdentity.Tkn", - "id": 275, - "members": [ - { - "constant": false, - "id": 264, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1167:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1167:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 266, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1185:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1185:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 268, - "name": "origin", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1205:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1205:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 270, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1225:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1225:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 272, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1244:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 271, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1244:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 274, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1260:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 273, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1260:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Tkn", - "nodeType": "StructDefinition", - "scope": 839, - "src": "1150:125:3", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 283, - "name": "TransactionSent", - "nodeType": "EventDefinition", - "parameters": { - "id": 282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 277, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1301:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 276, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1301:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 279, - "indexed": false, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1313:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1313:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 281, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1325:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1325:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1300:39:3" - }, - "src": "1279:61:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 287, - "name": "ApprovedAgentAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 285, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "1368:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1368:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1367:15:3" - }, - "src": "1343:40:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 291, - "name": "ApprovedAgentRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 290, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 289, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "1413:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 288, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:15:3" - }, - "src": "1386:42:3" - }, - { - "body": { - "id": 341, - "nodeType": "Block", - "src": "1548:242:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 302, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1554:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 303, - "name": "_erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1554:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 305, - "nodeType": "ExpressionStatement", - "src": "1554:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 306, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "1578:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 307, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1588:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1578:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 309, - "nodeType": "ExpressionStatement", - "src": "1578:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 310, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "1602:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 311, - "name": "_serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "1611:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1602:16:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 313, - "nodeType": "ExpressionStatement", - "src": "1602:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 314, - "name": "creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 226, - "src": "1624:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 315, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1634:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1624:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "1624:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 318, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1648:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 319, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1656:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1648:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 321, - "nodeType": "ExpressionStatement", - "src": "1648:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 322, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1670:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 324, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1693:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 323, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1675:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1103, - "src": "1675:38:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1670:45:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "1670:45:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 334, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1754:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 331, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1739:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 330, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1721:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 1173, - "src": "1721:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:36:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 336, - "nodeType": "ExpressionStatement", - "src": "1721:36:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 338, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1776:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 337, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "1763:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1763:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 340, - "nodeType": "ExpressionStatement", - "src": "1763:22:3" - } - ] - }, - "documentation": null, - "id": 342, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 293, - "name": "_erc1056", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 292, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 295, - "name": "_erc1155", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1471:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 297, - "name": "_serial", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1493:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1493:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 299, - "name": "_creator", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1520:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1520:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1443:97:3" - }, - "returnParameters": { - "id": 301, - "nodeType": "ParameterList", - "parameters": [], - "src": "1548:0:3" - }, - "scope": 839, - "src": "1432:358:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 353, - "nodeType": "Block", - "src": "1812:68:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 345, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1826:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1826:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 347, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1840:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1826:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c79206f776e657220616c6c6f776564", - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1847:20:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - }, - "value": "Only owner allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - } - ], - "id": 344, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1818:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1818:50:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 351, - "nodeType": "ExpressionStatement", - "src": "1818:50:3" - }, - { - "id": 352, - "nodeType": "PlaceholderStatement", - "src": "1874:1:3" - } - ] - }, - "documentation": null, - "id": 354, - "name": "_owner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 343, - "nodeType": "ParameterList", - "parameters": [], - "src": "1809:2:3" - }, - "src": "1794:86:3", - "visibility": "internal" - }, - { - "body": { - "id": 370, - "nodeType": "Block", - "src": "1913:145:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1934:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1934:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 359, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1948:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1934:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "1957:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 364, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1968:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1968:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1957:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1934:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564", - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1987:53:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - }, - "value": "ProxyIdentity: Only owner or approved agent allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - } - ], - "id": 356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1919:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1919:127:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 368, - "nodeType": "ExpressionStatement", - "src": "1919:127:3" - }, - { - "id": 369, - "nodeType": "PlaceholderStatement", - "src": "2052:1:3" - } - ] - }, - "documentation": null, - "id": 371, - "name": "isOwnerOrApproved", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 355, - "nodeType": "ParameterList", - "parameters": [], - "src": "1910:2:3" - }, - "src": "1884:174:3", - "visibility": "internal" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "2084:111:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2094:18:3", - "subExpression": { - "argumentTypes": null, - "id": 373, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "2095:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 379, - "nodeType": "IfStatement", - "src": "2090:93:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d6574686f642063616e20626520696e766f6b6564206f6e6c792061732070617274206f6620455243323233207472616e73666572", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2127:55:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - }, - "value": "Method can be invoked only as part of ERC223 transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - } - ], - "id": 375, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3539, - 3540 - ], - "referencedDeclaration": 3540, - "src": "2120:6:3", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2120:63:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 378, - "nodeType": "ExpressionStatement", - "src": "2120:63:3" - } - }, - { - "id": 380, - "nodeType": "PlaceholderStatement", - "src": "2189:1:3" - } - ] - }, - "documentation": null, - "id": 382, - "name": "tokenPayable", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [], - "src": "2084:0:3" - }, - "src": "2062:133:3", - "visibility": "internal" - }, - { - "body": { - "id": 402, - "nodeType": "Block", - "src": "2311:80:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 395, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 384, - "src": "2342:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 396, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "2349:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 397, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "2353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 394, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2325:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2325:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2361:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2317:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:69:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "2317:69:3" - } - ] - }, - "documentation": null, - "id": 403, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 391, - "modifierName": { - "argumentTypes": null, - "id": 390, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "2302:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2302:8:3" - } - ], - "name": "sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 384, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2229:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 383, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2229:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 386, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2253:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2253:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 388, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2269:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2269:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2223:63:3" - }, - "returnParameters": { - "id": 392, - "nodeType": "ParameterList", - "parameters": [], - "src": "2311:0:3" - }, - "scope": 839, - "src": "2199:192:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 482, - "nodeType": "Block", - "src": "2565:481:3", - "statements": [ - { - "assignments": [ - 421 - ], - "declarations": [ - { - "constant": false, - "id": 421, - "name": "digest", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2571:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 420, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2571:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 431, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 425, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2609:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 426, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "2615:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 427, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "2619:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 428, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "2626:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 423, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2598:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2598:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2598:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 422, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2588:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2588:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2571:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 433, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2647:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 435, - "indexExpression": { - "argumentTypes": null, - "id": 434, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2655:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2647:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2666:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2647:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e74", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2673:40:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - }, - "value": "This transaction has already been sent" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - } - ], - "id": 432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2639:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2639:75:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 440, - "nodeType": "ExpressionStatement", - "src": "2639:75:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 441, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2720:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 443, - "indexExpression": { - "argumentTypes": null, - "id": 442, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2728:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2720:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2738:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2720:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 446, - "nodeType": "ExpressionStatement", - "src": "2720:22:3" - }, - { - "assignments": [ - 448 - ], - "declarations": [ - { - "constant": false, - "id": 448, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2748:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 447, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 456, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2797:34:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "argumentTypes": null, - "id": 453, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2833:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 450, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2780:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2780:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2780:60:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 449, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2763:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2763:83:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2748:98:3" - }, - { - "assignments": [ - 458 - ], - "declarations": [ - { - "constant": false, - "id": 458, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2852:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2852:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 465, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 460, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "2879:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 461, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "2885:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 462, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "2888:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 463, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "2891:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 459, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3526, - "src": "2869:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2869:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2852:41:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 467, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 458, - "src": "2914:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 468, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "2924:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2914:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5369676e6174757265206973206e6f742076616c6964", - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2937:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - }, - "value": "Signature is not valid" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - } - ], - "id": 466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2899:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2899:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 472, - "nodeType": "ExpressionStatement", - "src": "2899:68:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 475, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2998:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 476, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "3004:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 477, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "3008:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 474, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2981:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2981:33:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3016:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2973:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2973:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 481, - "nodeType": "ExpressionStatement", - "src": "2973:68:3" - } - ] - }, - "documentation": null, - "id": 483, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendSignedTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 405, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2431:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 404, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2431:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 407, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2454:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2454:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 409, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2470:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 408, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2470:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 411, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2483:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 410, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2483:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 413, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2498:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 412, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 415, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2513:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2513:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 417, - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2532:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2532:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2425:124:3" - }, - "returnParameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [], - "src": "2565:0:3" - }, - "scope": 839, - "src": "2395:651:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 494, - "nodeType": "Block", - "src": "3105:33:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 491, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "3124:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 490, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "3111:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3111:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "3111:22:3" - } - ] - }, - "documentation": null, - "id": 495, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 488, - "modifierName": { - "argumentTypes": null, - "id": 487, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3096:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3096:8:3" - } - ], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 485, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 495, - "src": "3071:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3071:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3070:18:3" - }, - "returnParameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [], - "src": "3105:0:3" - }, - "scope": 839, - "src": "3050:88:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 513, - "nodeType": "Block", - "src": "3200:79:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 507, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3247:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3254:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 510, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "3265:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 503, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3215:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 502, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3206:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokeDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 215, - "src": "3206:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address) external" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 512, - "nodeType": "ExpressionStatement", - "src": "3206:68:3" - } - ] - }, - "documentation": null, - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 500, - "modifierName": { - "argumentTypes": null, - "id": 499, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3191:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3191:8:3" - } - ], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 497, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "3166:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 496, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3166:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3165:18:3" - }, - "returnParameters": { - "id": 501, - "nodeType": "ParameterList", - "parameters": [], - "src": "3200:0:3" - }, - "scope": 839, - "src": "3142:137:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 525, - "nodeType": "Block", - "src": "3347:27:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 521, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "3353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 522, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "3361:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3353:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 524, - "nodeType": "ExpressionStatement", - "src": "3353:16:3" - } - ] - }, - "documentation": null, - "id": 526, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 519, - "modifierName": { - "argumentTypes": null, - "id": 518, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3329:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3329:17:3" - } - ], - "name": "changeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 516, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 526, - "src": "3304:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3303:18:3" - }, - "returnParameters": { - "id": 520, - "nodeType": "ParameterList", - "parameters": [], - "src": "3347:0:3" - }, - "scope": 839, - "src": "3283:91:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 547, - "nodeType": "Block", - "src": "3444:98:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 533, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 535, - "indexExpression": { - "argumentTypes": null, - "id": 534, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3461:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3450:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3470:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3450:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 538, - "nodeType": "ExpressionStatement", - "src": "3450:24:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 543, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3525:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 540, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 539, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3480:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3480:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:57:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 546, - "nodeType": "ExpressionStatement", - "src": "3480:57:3" - } - ] - }, - "documentation": null, - "id": 548, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 531, - "modifierName": { - "argumentTypes": null, - "id": 530, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3426:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3426:17:3" - } - ], - "name": "addApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 528, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "3404:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 527, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3404:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3403:15:3" - }, - "returnParameters": { - "id": 532, - "nodeType": "ParameterList", - "parameters": [], - "src": "3444:0:3" - }, - "scope": 839, - "src": "3378:164:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 569, - "nodeType": "Block", - "src": "3615:100:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 555, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3621:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 557, - "indexExpression": { - "argumentTypes": null, - "id": 556, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3632:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3621:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3641:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3621:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3621:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 565, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3697:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3704:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 562, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3670:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 561, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3652:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3652:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:58:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 568, - "nodeType": "ExpressionStatement", - "src": "3652:58:3" - } - ] - }, - "documentation": null, - "id": 570, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 553, - "modifierName": { - "argumentTypes": null, - "id": 552, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3597:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3597:17:3" + "typeName": { + "id": 39, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "458:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "name": "removeApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 550, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 570, - "src": "3575:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3575:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3574:15:3" }, - "returnParameters": { - "id": 554, - "nodeType": "ParameterList", - "parameters": [], - "src": "3615:0:3" + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 42, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "477:16:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" }, - "scope": 839, - "src": "3546:169:3", - "stateMutability": "nonpayable", - "superFunction": null, + "typeName": { + "id": 41, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "477:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, "visibility": "public" }, { - "body": { - "id": 582, - "nodeType": "Block", - "src": "3770:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3814:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 576, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3801:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 575, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3783:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "3783:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view external returns (string memory)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:34:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 574, - "id": 581, - "nodeType": "Return", - "src": "3776:41:3" - } - ] + "constant": false, + "id": 44, + "name": "sigV", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "498:10:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, - "documentation": null, - "id": 583, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 571, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:2:3" + "typeName": { + "id": 43, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "498:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } }, - "returnParameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 573, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 583, - "src": "3755:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3755:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3754:15:3" + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 46, + "name": "sigR", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "512:12:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "scope": 839, - "src": "3719:103:3", - "stateMutability": "view", - "superFunction": null, + "typeName": { + "id": 45, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "512:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 48, + "name": "sigS", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "528:12:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 47, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "528:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 50, + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "544:24:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 49, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "544:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, "visibility": "public" }, { - "body": { - "id": 596, - "nodeType": "Block", - "src": "3872:57:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 592, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3915:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 593, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "3919:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 589, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3896:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 588, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3878:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateUri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1142, - "src": "3878:36:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "3878:46:3" - } - ] - }, - "documentation": null, - "id": 597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 597, - "src": "3845:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 584, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3845:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:20:3" + "constant": false, + "id": 52, + "name": "offerSigner", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "572:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "returnParameters": { - "id": 587, - "nodeType": "ParameterList", - "parameters": [], - "src": "3872:0:3" + "typeName": { + "id": 51, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "scope": 839, - "src": "3826:103:3", - "stateMutability": "nonpayable", - "superFunction": null, + "value": null, "visibility": "public" }, { - "body": { - "id": 614, - "nodeType": "Block", - "src": "4095:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 612, - "name": "ERC1155_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "4108:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 611, - "id": 613, - "nodeType": "Return", - "src": "4101:23:3" - } - ] + "constant": false, + "id": 54, + "name": "offerHash", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "602:24:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 53, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "602:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, "documentation": null, - "id": 615, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", + "id": 60, + "name": "OfferableIdentityCreated", + "nodeType": "EventDefinition", "parameters": { - "id": 608, + "id": 59, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 599, - "name": "_operator", + "id": 56, + "indexed": false, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3965:17:3", + "scope": 60, + "src": "662:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14099,11 +4092,10 @@ "typeString": "address" }, "typeName": { - "id": 598, + "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3965:7:3", - "stateMutability": "nonpayable", + "src": "662:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14114,196 +4106,54 @@ }, { "constant": false, - "id": 601, - "name": "_from", + "id": 58, + "indexed": false, + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3988:13:3", + "scope": 60, + "src": "680:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3988:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 603, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4007:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4007:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 605, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4024:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 607, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4044:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 606, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4044:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3959:109:3" - }, - "returnParameters": { - "id": 611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 610, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4087:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeString": "address" }, "typeName": { - "id": 609, - "name": "bytes4", + "id": 57, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4087:6:3", + "src": "680:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "4086:8:3" + "src": "661:33:0" }, - "scope": 839, - "src": "3933:196:3", - "stateMutability": "nonpayable", - "superFunction": 2383, - "visibility": "external" + "src": "631:64:0" }, { - "body": { - "id": 634, - "nodeType": "Block", - "src": "4324:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 632, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4337:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 631, - "id": 633, - "nodeType": "Return", - "src": "4330:29:3" - } - ] - }, + "anonymous": false, "documentation": null, - "id": 635, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", + "id": 66, + "name": "IdentityOffered", + "nodeType": "EventDefinition", "parameters": { - "id": 628, + "id": 65, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 617, - "name": "_operator", + "id": 62, + "indexed": false, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4170:17:3", + "scope": 66, + "src": "720:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14311,11 +4161,10 @@ "typeString": "address" }, "typeName": { - "id": 616, + "id": 61, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4170:7:3", - "stateMutability": "nonpayable", + "src": "720:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14326,11 +4175,12 @@ }, { "constant": false, - "id": 619, - "name": "_from", + "id": 64, + "indexed": false, + "name": "offeredTo", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4193:13:3", + "scope": 66, + "src": "738:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14338,11 +4188,10 @@ "typeString": "address" }, "typeName": { - "id": 618, + "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4193:7:3", - "stateMutability": "nonpayable", + "src": "738:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14350,38 +4199,44 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "719:37:0" + }, + "src": "698:59:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 72, + "name": "IdentityTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 71, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 622, - "name": "_ids", + "id": 68, + "indexed": false, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4212:23:3", + "scope": 72, + "src": "786:16:0", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "baseType": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4212:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 621, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4212:9:3", + "id": 67, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "786:7:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -14389,280 +4244,460 @@ }, { "constant": false, - "id": 625, - "name": "_values", + "id": 70, + "indexed": false, + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4241:26:3", + "scope": 72, + "src": "804:13:0", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "baseType": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 624, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4241:9:3", + "id": 69, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "804:7:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" - }, + } + ], + "src": "785:33:0" + }, + "src": "760:59:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 78, + "name": "OfferRejected", + "nodeType": "EventDefinition", + "parameters": { + "id": 77, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 627, - "name": "_data", + "id": 74, + "indexed": false, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4273:20:3", + "scope": 78, + "src": "842:16:0", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 626, - "name": "bytes", + "id": 73, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4273:5:3", + "src": "842:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" - } - ], - "src": "4164:133:3" - }, - "returnParameters": { - "id": 631, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 630, - "name": "", + "id": 76, + "indexed": false, + "name": "offeredTo", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4316:6:3", + "scope": 78, + "src": "860:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 629, - "name": "bytes4", + "id": 75, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4316:6:3", + "src": "860:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "4315:8:3" + "src": "841:37:0" }, - "scope": 839, - "src": "4133:231:3", - "stateMutability": "nonpayable", - "superFunction": 2400, - "visibility": "external" + "src": "822:57:0" }, { "body": { - "id": 662, + "id": 121, "nodeType": "Block", - "src": "4489:258:3", + "src": "955:213:0", "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 89, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 87, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "961:2:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 88, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 80, + "src": "966:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "961:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 90, + "nodeType": "ExpressionStatement", + "src": "961:8:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 91, + "name": "erc1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "975:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 92, + "name": "_erc1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 82, + "src": "985:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "975:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 94, + "nodeType": "ExpressionStatement", + "src": "975:18:0" + }, { "assignments": [ - 647 + 96 ], "declarations": [ { "constant": false, - "id": 647, - "name": "data", + "id": 96, + "name": "registry", "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4495:17:3", + "scope": 122, + "src": "999:17:0", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" }, "typeName": { - "id": 646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "contractScope": null, + "id": 95, + "name": "IERC1056", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 36, + "src": "999:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } }, "value": null, "visibility": "internal" } ], - "id": 649, + "id": 100, "initialValue": { "argumentTypes": null, - "id": 648, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4515:5:3", + "arguments": [ + { + "argumentTypes": null, + "id": 98, + "name": "_erc1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 82, + "src": "1028:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 97, + "name": "IERC1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1019:8:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1056_$36_$", + "typeString": "type(contract IERC1056)" + } + }, + "id": 99, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1019:18:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } }, "nodeType": "VariableDeclarationStatement", - "src": "4495:25:3" + "src": "999:38:0" }, { - "assignments": [ - 651 - ], - "declarations": [ - { - "constant": false, - "id": 651, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4526:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 105, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1072:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1064:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1064:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "typeName": { - "id": 650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4526:7:3", + { + "argumentTypes": null, + "id": 107, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1079:6:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 654, - "initialValue": { - "argumentTypes": null, + } + ], "expression": { - "argumentTypes": null, - "id": 652, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "4540:4:3", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 101, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1043:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" + } + }, + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "changeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1043:20:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" } }, - "id": 653, + "id": 108, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4540:11:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1043:43:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4526:25:3" + "id": 109, + "nodeType": "ExpressionStatement", + "src": "1043:43:0" }, { - "externalReferences": [ - { - "success": { - "declaration": 644, - "isOffset": false, - "isSlot": false, - "src": "4634:7:3", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 647, - "isOffset": false, - "isSlot": false, - "src": "4670:4:3", - "valueSize": 1 - } - }, - { - "to": { - "declaration": 639, - "isOffset": false, - "isSlot": false, - "src": "4655:2:3", - "valueSize": 1 + "expression": { + "argumentTypes": null, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 110, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "1092:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - { - "value": { - "declaration": 641, - "isOffset": false, - "isSlot": false, - "src": "4659:5:3", - "valueSize": 1 + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 111, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1100:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - { - "len": { - "declaration": 651, - "isOffset": false, - "isSlot": false, - "src": "4683:3:3", - "valueSize": 1 - } + "src": "1092:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 655, - "nodeType": "InlineAssembly", - "operations": "{\n success := call(gas(), to, value, add(data, 0x20), len, 0, 0)\n}", - "src": "4617:82:3" + }, + "id": 113, + "nodeType": "ExpressionStatement", + "src": "1092:14:0" }, { "eventCall": { @@ -14670,25 +4705,50 @@ "arguments": [ { "argumentTypes": null, - "id": 657, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4725:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 658, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4732:2:3", + "arguments": [ + { + "argumentTypes": null, + "id": 116, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1150:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1142:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1142:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14696,45 +4756,41 @@ }, { "argumentTypes": null, - "id": 659, - "name": "value", + "id": 118, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "4736:5:3", + "referencedDeclaration": 38, + "src": "1157:5:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, { "typeIdentifier": "t_address", "typeString": "address" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 656, - "name": "TransactionSent", + "id": 114, + "name": "OfferableIdentityCreated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "4709:15:3", + "referencedDeclaration": 60, + "src": "1117:24:0", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (bytes memory,address,uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 660, + "id": 119, "isConstant": false, "isLValue": false, "isPure": false, @@ -14742,50 +4798,77 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4709:33:3", + "src": "1117:46:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 661, + "id": 120, "nodeType": "EmitStatement", - "src": "4704:38:3" + "src": "1112:51:0" } ] }, "documentation": null, - "id": 663, + "id": 122, "implemented": true, - "kind": "function", + "isConstructor": true, + "isDeclaredConst": false, "modifiers": [], - "name": "_sendTransaction", + "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 642, + "id": 85, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 637, - "name": "_data", + "id": 80, + "name": "_id", "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4399:18:3", + "scope": 122, + "src": "895:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" }, "typeName": { - "id": 636, - "name": "bytes", + "id": 79, + "name": "string", "nodeType": "ElementaryTypeName", - "src": "4399:5:3", + "src": "895:6:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 82, + "name": "_erc1056", + "nodeType": "VariableDeclaration", + "scope": 122, + "src": "914:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 81, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "914:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -14793,11 +4876,11 @@ }, { "constant": false, - "id": 639, - "name": "to", + "id": 84, + "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4423:10:3", + "scope": 122, + "src": "932:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14805,92 +4888,192 @@ "typeString": "address" }, "typeName": { - "id": 638, + "id": 83, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4423:7:3", - "stateMutability": "nonpayable", + "src": "932:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "894:53:0" + }, + "payable": false, + "returnParameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [], + "src": "955:0:0" + }, + "scope": 254, + "src": "883:285:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 133, + "nodeType": "Block", + "src": "1191:68:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 125, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 269, + "src": "1205:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1205:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 127, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "1219:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1205:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4f6e6c79206f776e657220616c6c6f776564", + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1226:20:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + }, + "value": "Only owner allowed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + } + ], + "id": 124, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 272, + 273 + ], + "referencedDeclaration": 273, + "src": "1197:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1197:50:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "value": null, - "visibility": "internal" + "id": 131, + "nodeType": "ExpressionStatement", + "src": "1197:50:0" }, { - "constant": false, - "id": 641, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4439:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" + "id": 132, + "nodeType": "PlaceholderStatement", + "src": "1253:1:0" } - ], - "src": "4393:63:3" + ] }, - "returnParameters": { - "id": 645, + "documentation": null, + "id": 134, + "name": "isOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 123, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 644, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4475:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 643, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4475:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4474:14:3" + "parameters": [], + "src": "1188:2:0" }, - "scope": 839, - "src": "4368:379:3", - "stateMutability": "nonpayable", - "superFunction": null, + "src": "1172:87:0", "visibility": "internal" }, { "body": { - "id": 680, + "id": 154, "nodeType": "Block", - "src": "4800:123:3", + "src": "1286:146:0", "statements": [ { "expression": { @@ -14898,183 +5081,264 @@ "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "4851:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 137, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1300:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "expression": { - "argumentTypes": [ + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" + "argumentTypes": null, + "hexValue": "30", + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1321:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } ], - "id": 672, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1313:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 140, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4843:7:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1313:10:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4843:13:3", + "src": "1300:23:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, { "argumentTypes": null, - "hexValue": "73696741757468", - "id": 675, + "hexValue": "50726f7879206973206e6f74206f666665726564", + "id": 142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4864:9:3", + "src": "1325:22:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 676, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "4881:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 677, - "name": "defaultValidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "4897:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "value": "Proxy is not offered" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" } ], - "expression": { + "id": 136, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 272, + 273 + ], + "referencedDeclaration": 273, + "src": "1292:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1292:56:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 144, + "nodeType": "ExpressionStatement", + "src": "1292:56:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "arguments": [ - { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 669, - "name": "erc1056", + "id": 146, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4815:7:3", + "referencedDeclaration": 269, + "src": "1362:3:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } + }, + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1362:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 668, - "name": "IERC1056", + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 148, + "name": "offeredTo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "4806:8:3", + "referencedDeclaration": 50, + "src": "1376:9:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 670, + "src": "1362:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "50726f7879206f66666572656420746f206f74686572206163636f756e74", + "id": 150, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, + "kind": "string", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:17:3", + "nodeType": "Literal", + "src": "1387:32:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + }, + "value": "Proxy offered to other account" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" } - }, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 206, - "src": "4806:29:3", + ], + "id": 145, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 272, + 273 + ], + "referencedDeclaration": 273, + "src": "1354:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,address,uint256) external" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 678, + "id": 151, "isConstant": false, "isLValue": false, "isPure": false, @@ -15082,443 +5346,319 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4806:112:3", + "src": "1354:66:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 679, + "id": 152, "nodeType": "ExpressionStatement", - "src": "4806:112:3" + "src": "1354:66:0" + }, + { + "id": 153, + "nodeType": "PlaceholderStatement", + "src": "1426:1:0" } ] }, "documentation": null, - "id": 681, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addDelegate", - "nodeType": "FunctionDefinition", + "id": 155, + "name": "isOfferedTo", + "nodeType": "ModifierDefinition", "parameters": { - "id": 666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 665, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 681, - "src": "4773:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 664, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4773:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4772:18:3" - }, - "returnParameters": { - "id": 667, + "id": 135, "nodeType": "ParameterList", "parameters": [], - "src": "4800:0:3" + "src": "1283:2:0" }, - "scope": 839, - "src": "4751:172:3", - "stateMutability": "nonpayable", - "superFunction": null, + "src": "1263:169:0", "visibility": "internal" }, - { - "constant": true, - "id": 684, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5021:63:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 682, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5021:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 687, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5271:77:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 685, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5271:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783465323331326530", - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5338:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1310921440_by_1", - "typeString": "int_const 1310921440" - }, - "value": "0x4e2312e0" - }, - "visibility": "private" - }, { "body": { - "id": 707, + "id": 181, "nodeType": "Block", - "src": "5641:180:3", + "src": "1509:120:0", "statements": [ { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 700, + "id": 166, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 694, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5658:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 695, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "5674:26:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5658:42:3", + "id": 164, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1515:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "id": 165, + "name": "_offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1527:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1515:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 167, + "nodeType": "ExpressionStatement", + "src": "1515:22:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 697, - "name": "_interfaceID", + "id": 171, + "name": "changeOwnerTx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5710:12:3", + "referencedDeclaration": 157, + "src": "1557:13:0", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { "argumentTypes": null, - "id": 698, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", + "id": 168, + "name": "erc1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "5726:40:3", + "referencedDeclaration": 40, + "src": "1544:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "5710:56:3", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1544:12:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", + "typeString": "function () payable returns (bool)" } }, - "src": "5658:108:3", + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1544:27:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "falseBody": null, - "id": 704, - "nodeType": "IfStatement", - "src": "5647:152:3", - "trueBody": { - "id": 703, - "nodeType": "Block", - "src": "5773:26:3", - "statements": [ + "id": 173, + "nodeType": "ExpressionStatement", + "src": "1544:27:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 176, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1607:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 175, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "bool", "lValueRequested": false, - "nodeType": "Literal", - "src": "5788:4:3", - "subdenomination": null, + "nodeType": "ElementaryTypeNameExpression", + "src": "1599:7:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "value": "true" + "typeName": "address" + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1599:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 178, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1614:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "functionReturnParameters": 693, - "id": 702, - "nodeType": "Return", - "src": "5781:11:3" + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 174, + "name": "IdentityOffered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "1583:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 705, + }, + "id": 179, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "bool", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "5811:5:3", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "1583:41:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } }, - "functionReturnParameters": 693, - "id": 706, - "nodeType": "Return", - "src": "5804:12:3" + "id": 180, + "nodeType": "EmitStatement", + "src": "1578:46:0" } ] }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 708, + "documentation": null, + "id": 182, "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 689, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5591:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 688, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5591:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5590:21:3" - }, - "returnParameters": { - "id": 693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 692, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5635:4:3", - "stateVariable": false, - "storageLocation": "default", + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 162, + "modifierName": { + "argumentTypes": null, + "id": 161, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "1501:7:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5635:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5634:6:3" - }, - "scope": 839, - "src": "5564:257:3", - "stateMutability": "view", - "superFunction": 2417, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 716, - "name": "CallbackOnTransfer", - "nodeType": "EventDefinition", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1501:7:0" + } + ], + "name": "offer", + "nodeType": "FunctionDefinition", "parameters": { - "id": 715, + "id": 160, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 710, - "indexed": false, - "name": "data", + "id": 157, + "name": "changeOwnerTx", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5850:10:3", + "scope": 182, + "src": "1451:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", + "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes" }, "typeName": { - "id": 709, + "id": 156, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5850:5:3", + "src": "1451:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -15529,39 +5669,11 @@ }, { "constant": false, - "id": 712, - "indexed": false, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5862:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 711, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5862:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 714, - "indexed": false, - "name": "sender", + "id": 159, + "name": "_offeredTo", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5876:14:3", + "scope": 182, + "src": "1472:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15569,11 +5681,10 @@ "typeString": "address" }, "typeName": { - "id": 713, + "id": 158, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5876:7:3", - "stateMutability": "nonpayable", + "src": "1472:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15583,235 +5694,156 @@ "visibility": "internal" } ], - "src": "5849:42:3" + "src": "1450:41:0" + }, + "payable": false, + "returnParameters": { + "id": 163, + "nodeType": "ParameterList", + "parameters": [], + "src": "1509:0:0" }, - "src": "5825:67:3" + "scope": 254, + "src": "1436:193:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" }, { "body": { - "id": 763, + "id": 214, "nodeType": "Block", - "src": "6031:311:3", + "src": "1672:223:0", "statements": [ { - "condition": { + "expression": { "argumentTypes": null, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6041:26:3", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 730, - "name": "msg", + "id": 192, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6056:3:3", + "referencedDeclaration": 284, + "src": "1729:4:0", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } - }, - "id": 731, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 191, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6056:10:3", + "nodeType": "ElementaryTypeNameExpression", + "src": "1721:7:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1721:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 729, - "name": "supportsToken", + }, + { + "argumentTypes": null, + "id": 194, + "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "6042:13:3", + "referencedDeclaration": 44, + "src": "1742:4:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6042:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 736, - "nodeType": "IfStatement", - "src": "6037:44:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6076:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 728, - "id": 735, - "nodeType": "Return", - "src": "6069:12:3" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 737, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6087:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6107:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6087:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 740, - "nodeType": "ExpressionStatement", - "src": "6087:24:3" - }, - { - "assignments": [ - 742, - null - ], - "declarations": [ - { - "constant": false, - "id": 742, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6178:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 741, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6178:4:3", + { + "argumentTypes": null, + "id": 195, + "name": "sigR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "1754:4:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 196, + "name": "sigS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "1766:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 749, - "initialValue": { - "argumentTypes": null, - "arguments": [ { "argumentTypes": null, - "id": 747, - "name": "_data", + "id": 197, + "name": "offeredTo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6223:5:3", + "referencedDeclaration": 50, + "src": "1778:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } ], "expression": { @@ -15819,39 +5851,37 @@ "arguments": [ { "argumentTypes": null, - "id": 744, - "name": "this", + "id": 188, + "name": "erc1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "6204:4:3", + "referencedDeclaration": 40, + "src": "1687:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6196:7:3", + "id": 187, + "name": "IERC1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1678:8:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" + "typeIdentifier": "t_type$_t_contract$_IERC1056_$36_$", + "typeString": "type(contract IERC1056)" + } }, - "id": 745, + "id": 189, "isConstant": false, "isLValue": false, "isPure": false, @@ -15859,27 +5889,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6196:13:3", + "src": "1678:17:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } }, - "id": 746, + "id": 190, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "delegatecall", + "memberName": "changeOwnerSigned", "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6196:26:3", + "referencedDeclaration": 14, + "src": "1678:35:0", "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (address,uint8,bytes32,bytes32,address) external" } }, - "id": 748, + "id": 198, "isConstant": false, "isLValue": false, "isPure": false, @@ -15887,65 +5917,61 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6196:33:3", + "src": "1678:115:0", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "6177:52:3" + "id": 199, + "nodeType": "ExpressionStatement", + "src": "1678:115:0" }, { "expression": { "argumentTypes": null, - "id": 752, + "id": 202, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 750, - "name": "__isTokenFallback", + "id": 200, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6235:17:3", + "referencedDeclaration": 38, + "src": "1799:5:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "hexValue": "66616c7365", - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6255:5:3", - "subdenomination": null, + "id": 201, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1807:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "src": "6235:25:3", + "src": "1799:17:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 753, + "id": 203, "nodeType": "ExpressionStatement", - "src": "6235:25:3" + "src": "1799:17:0" }, { "eventCall": { @@ -15953,87 +5979,92 @@ "arguments": [ { "argumentTypes": null, - "id": 755, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6290:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 756, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6297:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 206, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1855:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], "expression": { - "argumentTypes": null, - "id": 757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6306:3:3", + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1847:7:0", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 758, + "id": 207, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6306:10:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1847:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 208, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1862:9:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 754, - "name": "CallbackOnTransfer", + "id": 204, + "name": "IdentityTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "6271:18:3", + "referencedDeclaration": 72, + "src": "1827:19:0", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_bool_$_t_address_$returns$__$", - "typeString": "function (bytes memory,bool,address)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 759, + "id": 209, "isConstant": false, "isLValue": false, "isPure": false, @@ -16041,946 +6072,428 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6271:46:3", + "src": "1827:45:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 760, + "id": 210, "nodeType": "EmitStatement", - "src": "6266:51:3" + "src": "1822:50:0" }, { "expression": { "argumentTypes": null, - "id": 761, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6330:7:3", + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 211, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "1878:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1878:12:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 728, - "id": 762, - "nodeType": "Return", - "src": "6323:14:3" + "id": 213, + "nodeType": "ExpressionStatement", + "src": "1878:12:0" } ] }, "documentation": null, - "id": 764, + "id": 215, "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 718, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5924:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5924:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 720, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5945:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5945:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 722, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5966:14:3", - "stateVariable": false, - "storageLocation": "default", + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 185, + "modifierName": { + "argumentTypes": null, + "id": 184, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "1660:11:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5966:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } }, - { - "constant": false, - "id": 724, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5986:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 723, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5986:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:90:3" + "nodeType": "ModifierInvocation", + "src": "1660:11:0" + } + ], + "name": "accept", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 183, + "nodeType": "ParameterList", + "parameters": [], + "src": "1648:2:0" }, + "payable": false, "returnParameters": { - "id": 728, + "id": 186, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 727, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "6025:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 726, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6025:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6024:6:3" + "parameters": [], + "src": "1672:0:0" }, - "scope": 839, - "src": "5896:446:3", + "scope": 254, + "src": "1633:262:0", "stateMutability": "nonpayable", - "superFunction": 42, - "visibility": "public" + "superFunction": null, + "visibility": "external" }, { "body": { - "id": 823, + "id": 230, "nodeType": "Block", - "src": "6416:202:3", + "src": "1938:73:0", "statements": [ { - "assignments": [ - 772 - ], - "declarations": [ - { - "constant": false, - "id": 772, - "name": "l", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "6422:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6422:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 781, - "initialValue": { + "eventCall": { "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "arguments": [ + { "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 222, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1971:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], "expression": { - "argumentTypes": null, - "id": 773, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6434:5:3", + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1963:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 774, + "id": 223, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6434:12:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1963:13:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { + { "argumentTypes": null, - "hexValue": "34", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6449:1:3", - "subdenomination": null, + "id": 224, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1978:9:0", "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "value": "4" - }, - "src": "6434:16:3", + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 220, + "name": "OfferRejected", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "1949:13:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6468:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 780, + "id": 225, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Conditional", - "src": "6434:35:3", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 777, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6453:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6453:12:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1949:39:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 226, + "nodeType": "EmitStatement", + "src": "1944:44:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 227, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "1994:10:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" } }, + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1994:12:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "6422:47:3" + "id": 229, + "nodeType": "ExpressionStatement", + "src": "1994:12:0" + } + ] + }, + "documentation": null, + "id": 231, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 218, + "modifierName": { + "argumentTypes": null, + "id": 217, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "1926:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } }, + "nodeType": "ModifierInvocation", + "src": "1926:11:0" + } + ], + "name": "reject", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [], + "src": "1914:2:0" + }, + "payable": false, + "returnParameters": { + "id": 219, + "nodeType": "ParameterList", + "parameters": [], + "src": "1938:0:0" + }, + "scope": 254, + "src": "1899:112:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 252, + "nodeType": "Block", + "src": "2046:77:0", + "statements": [ { - "body": { - "id": 821, - "nodeType": "Block", - "src": "6507:107:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 792, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6515:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6551:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6544:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6544:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 799, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6564:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 800, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6570:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6558:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6558:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6577:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6581:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 805, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6586:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6590:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6586:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 808, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6594:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6586:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 810, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6585:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6581:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 812, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6580:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6577:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 814, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6576:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6558:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6544:54:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6537:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6537:62:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6521:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" - }, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6521:86:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "6515:92:3", + "expression": { + "argumentTypes": null, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 234, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "2052:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2072:1:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "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": 235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2064:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "id": 820, - "nodeType": "ExpressionStatement", - "src": "6515:92:3" + "typeName": "address" + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2064:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ] + }, + "src": "2052:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "condition": { + "id": 239, + "nodeType": "ExpressionStatement", + "src": "2052:22:0" + }, + { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 788, + "id": 242, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 786, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6495:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { + "leftHandSide": { "argumentTypes": null, - "id": 787, - "name": "l", + "id": 240, + "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6499:1:3", + "referencedDeclaration": 44, + "src": "2080:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "src": "6495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 822, - "initializationExpression": { - "assignments": [ - 783 - ], - "declarations": [ - { - "constant": false, - "id": 783, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "6480:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6480:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 785, - "initialValue": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 784, + "id": 241, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6492:1:3", + "src": "2087:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16988,285 +6501,161 @@ }, "value": "0" }, - "nodeType": "VariableDeclarationStatement", - "src": "6480:13:3" + "src": "2080:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } }, - "loopExpression": { - "expression": { + "id": 243, + "nodeType": "ExpressionStatement", + "src": "2080:8:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 244, + "name": "sigR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "2094:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "id": 790, + "hexValue": "", + "id": 245, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "string", "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6502:3:3", - "subExpression": { - "argumentTypes": null, - "id": 789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6502:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "nodeType": "Literal", + "src": "2101:2:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" }, - "id": 791, - "nodeType": "ExpressionStatement", - "src": "6502:3:3" - }, - "nodeType": "ForStatement", - "src": "6475:139:3" - } - ] - }, - "documentation": null, - "id": 824, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 766, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6362:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 765, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6362:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6361:20:3" - }, - "returnParameters": { - "id": 770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 769, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6404:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 768, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "6404:6:3", + "src": "2094:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "6403:12:3" - }, - "scope": 839, - "src": "6346:272:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 833, - "nodeType": "Block", - "src": "6687:22:3", - "statements": [ + "id": 247, + "nodeType": "ExpressionStatement", + "src": "2094:9:0" + }, { "expression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 831, + "id": 250, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "bool", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "6700:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "leftHandSide": { + "argumentTypes": null, + "id": 248, + "name": "sigS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "2109:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, - "value": "true" - }, - "functionReturnParameters": 830, - "id": 832, - "nodeType": "Return", - "src": "6693:11:3" - } - ] - }, - "documentation": null, - "id": 834, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 826, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6645:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6645:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6644:15:3" - }, - "returnParameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6681:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 828, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6681:4:3", + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2116:2:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2109:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "value": null, - "visibility": "internal" + "id": 251, + "nodeType": "ExpressionStatement", + "src": "2109:9:0" } - ], - "src": "6680:6:3" - }, - "scope": 839, - "src": "6622:87:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 837, - "nodeType": "Block", - "src": "6741:2:3", - "statements": [] + ] }, "documentation": null, - "id": 838, + "id": 253, "implemented": true, - "kind": "fallback", + "isConstructor": false, + "isDeclaredConst": false, "modifiers": [], - "name": "", + "name": "closeOffer", "nodeType": "FunctionDefinition", "parameters": { - "id": 835, + "id": 232, "nodeType": "ParameterList", "parameters": [], - "src": "6721:2:3" + "src": "2034:2:0" }, + "payable": false, "returnParameters": { - "id": 836, + "id": 233, "nodeType": "ParameterList", "parameters": [], - "src": "6741:0:3" + "src": "2046:0:0" }, - "scope": 839, - "src": "6713:30:3", - "stateMutability": "payable", + "scope": 254, + "src": "2015:108:0", + "stateMutability": "nonpayable", "superFunction": null, - "visibility": "external" + "visibility": "internal" } ], - "scope": 840, - "src": "616:6129:3" + "scope": 255, + "src": "403:1722:0" } ], - "src": "0:6746:3" + "src": "0:2126:0" }, "compiler": { "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" + "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.0.16", - "updatedAt": "2020-10-25T11:29:13.811Z", + "updatedAt": "2021-03-09T09:36:30.316Z", "devdoc": { "methods": {} }, diff --git a/packages/proxyIdentity/build/contracts/IERC1155.json b/packages/proxyIdentity/build/contracts/IERC1155.json deleted file mode 100644 index 8ff953ee..00000000 --- a/packages/proxyIdentity/build/contracts/IERC1155.json +++ /dev/null @@ -1,2999 +0,0 @@ -{ - "contractName": "IERC1155", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_amount", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address[]", - "name": "_owners", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "isOperator", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_amount\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"params\":{\"_id\":\"ID of the Token\",\"_owner\":\"The address of the token holder\"},\"return\":\"The _owner's balance of the Token type requested\"},\"balanceOfBatch(address[],uint256[])\":{\"params\":{\"_ids\":\"ID of the Tokens\",\"_owners\":\"The addresses of the token holders\"},\"return\":\"The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\"},\"isApprovedForAll(address,address)\":{\"params\":{\"_operator\":\"Address of authorized operator\",\"_owner\":\"The owner of the Tokens\"},\"return\":\"True if the operator is approved, false if not\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"MUST emit TransferBatch event on success Caller must be approved to manage the _from account's tokens (see isApprovedForAll) MUST throw if `_to` is the zero address MUST throw if length of `_ids` is not the same as length of `_amounts` MUST throw if any of the balance of sender for token `_ids` is lower than the respective `_amounts` sent MUST throw on any other error When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155BatchReceived` on `_to` and revert if the return amount is not `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` Transfers and events MUST occur in the array order they were submitted (_ids[0] before _ids[1], etc)\",\"params\":{\"_amounts\":\"Transfer amounts per token type\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source addresses\",\"_ids\":\"IDs of each token type\",\"_to\":\"Target addresses\"}},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"MUST emit TransferSingle event on success Caller must be approved to manage the _from account's tokens (see isApprovedForAll) MUST throw if `_to` is the zero address MUST throw if balance of sender for token `_id` is lower than the `_amount` sent MUST throw on any other error When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155Received` on `_to` and revert if the return amount is not `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))`\",\"params\":{\"_amount\":\"Transfered amount\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source address\",\"_id\":\"ID of the token type\",\"_to\":\"Target address\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"MUST emit the ApprovalForAll event on success\",\"params\":{\"_approved\":\"True if the operator is approved, false to revoke approval\",\"_operator\":\"Address to add to the set of authorized operators\"}}}},\"userdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"notice\":\"Get the balance of an account's Tokens\"},\"balanceOfBatch(address[],uint256[])\":{\"notice\":\"Get the balance of multiple account/token pairs\"},\"isApprovedForAll(address,address)\":{\"notice\":\"Queries the approval status of an operator for a given owner\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Send multiple types of Tokens from the _from address to the _to address (with safety call)\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"notice\":\"Transfers amount of an _id from the _from address to the _to address specified\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of caller's tokens\"}}}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/interfaces/IERC1155.sol\":\"IERC1155\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.16;\n\n\ninterface IERC1155 {\n\n /****************************************|\n | Events |\n |_______________________________________*/\n\n /**\n * @dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n * Operator MUST be msg.sender\n * When minting/creating tokens, the `_from` field MUST be set to `0x0`\n * When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n * The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n * To broadcast the existence of a token ID with no initial balance, the contract SHOULD emit the TransferSingle event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0\n */\n event TransferSingle(address indexed _operator, address indexed _from, address indexed _to, uint256 _id, uint256 _amount);\n\n /**\n * @dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n * Operator MUST be msg.sender\n * When minting/creating tokens, the `_from` field MUST be set to `0x0`\n * When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n * The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n * To broadcast the existence of multiple token IDs with no initial balance, this SHOULD emit the TransferBatch event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0\n */\n event TransferBatch(address indexed _operator, address indexed _from, address indexed _to, uint256[] _ids, uint256[] _amounts);\n\n /**\n * @dev MUST emit when an approval is updated\n */\n event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);\n\n /**\n * @dev MUST emit when the URI is updated for a token ID\n * URIs are defined in RFC 3986\n * The URI MUST point a JSON file that conforms to the \"ERC-1155 Metadata JSON Schema\"\n */\n event URI(string _amount, uint256 indexed _id);\n\n\n /****************************************|\n | Functions |\n |_______________________________________*/\n\n /**\n * @notice Transfers amount of an _id from the _from address to the _to address specified\n * @dev MUST emit TransferSingle event on success\n * Caller must be approved to manage the _from account's tokens (see isApprovedForAll)\n * MUST throw if `_to` is the zero address\n * MUST throw if balance of sender for token `_id` is lower than the `_amount` sent\n * MUST throw on any other error\n * When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155Received` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n * @param _from Source address\n * @param _to Target address\n * @param _id ID of the token type\n * @param _amount Transfered amount\n * @param _data Additional data with no specified format, sent in call to `_to`\n */\n function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _amount, bytes calldata _data) external;\n\n /**\n * @notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n * @dev MUST emit TransferBatch event on success\n * Caller must be approved to manage the _from account's tokens (see isApprovedForAll)\n * MUST throw if `_to` is the zero address\n * MUST throw if length of `_ids` is not the same as length of `_amounts`\n * MUST throw if any of the balance of sender for token `_ids` is lower than the respective `_amounts` sent\n * MUST throw on any other error\n * When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155BatchReceived` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n * Transfers and events MUST occur in the array order they were submitted (_ids[0] before _ids[1], etc)\n * @param _from Source addresses\n * @param _to Target addresses\n * @param _ids IDs of each token type\n * @param _amounts Transfer amounts per token type\n * @param _data Additional data with no specified format, sent in call to `_to`\n */\n function safeBatchTransferFrom(address _from, address _to, uint256[] calldata _ids, uint256[] calldata _amounts, bytes calldata _data) external;\n\n /**\n * @notice Get the balance of an account's Tokens\n * @param _owner The address of the token holder\n * @param _id ID of the Token\n * @return The _owner's balance of the Token type requested\n */\n function balanceOf(address _owner, uint256 _id) external view returns (uint256);\n\n /**\n * @notice Get the balance of multiple account/token pairs\n * @param _owners The addresses of the token holders\n * @param _ids ID of the Tokens\n * @return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\n */\n function balanceOfBatch(address[] calldata _owners, uint256[] calldata _ids) external view returns (uint256[] memory);\n\n /**\n * @notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n * @dev MUST emit the ApprovalForAll event on success\n * @param _operator Address to add to the set of authorized operators\n * @param _approved True if the operator is approved, false to revoke approval\n */\n function setApprovalForAll(address _operator, bool _approved) external;\n\n /**\n * @notice Queries the approval status of an operator for a given owner\n * @param _owner The owner of the Tokens\n * @param _operator Address of authorized operator\n * @return True if the operator is approved, false if not\n */\n function isApprovedForAll(address _owner, address _operator) external view returns (bool isOperator);\n}\n", - "sourcePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "exportedSymbols": { - "IERC1155": [ - 2923 - ] - }, - "id": 2924, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2817, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:15" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 2923, - "linearizedBaseContracts": [ - 2923 - ], - "name": "IERC1155", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n Operator MUST be msg.sender\n When minting/creating tokens, the `_from` field MUST be set to `0x0`\n When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n To broadcast the existence of a token ID with no initial balance, the contract SHOULD emit the TransferSingle event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0", - "id": 2829, - "name": "TransferSingle", - "nodeType": "EventDefinition", - "parameters": { - "id": 2828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2819, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "954:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2818, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "954:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2821, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "981:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2823, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1004:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1004:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2825, - "indexed": false, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1025:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1025:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2827, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1038:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1038:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "953:101:15" - }, - "src": "933:122:15" - }, - { - "anonymous": false, - "documentation": "@dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n Operator MUST be msg.sender\n When minting/creating tokens, the `_from` field MUST be set to `0x0`\n When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n To broadcast the existence of multiple token IDs with no initial balance, this SHOULD emit the TransferBatch event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0", - "id": 2843, - "name": "TransferBatch", - "nodeType": "EventDefinition", - "parameters": { - "id": 2842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2831, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1824:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2830, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1824:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2833, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1851:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1851:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2835, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1874:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2834, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1874:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2838, - "indexed": false, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1895:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1895:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2837, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1895:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2841, - "indexed": false, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1911:18:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1911:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2840, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1911:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1823:107:15" - }, - "src": "1804:127:15" - }, - { - "anonymous": false, - "documentation": "@dev MUST emit when an approval is updated", - "id": 2851, - "name": "ApprovalForAll", - "nodeType": "EventDefinition", - "parameters": { - "id": 2850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2845, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2016:22:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2016:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2847, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2040:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2846, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2040:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2849, - "indexed": false, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2067:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2848, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2067:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2015:67:15" - }, - "src": "1995:88:15" - }, - { - "anonymous": false, - "documentation": "@dev MUST emit when the URI is updated for a token ID\n URIs are defined in RFC 3986\n The URI MUST point a JSON file that conforms to the \"ERC-1155 Metadata JSON Schema\"", - "id": 2857, - "name": "URI", - "nodeType": "EventDefinition", - "parameters": { - "id": 2856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2853, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2857, - "src": "2295:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2852, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2295:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2855, - "indexed": true, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2857, - "src": "2311:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2311:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2294:37:15" - }, - "src": "2285:47:15" - }, - { - "body": null, - "documentation": "@notice Transfers amount of an _id from the _from address to the _to address specified\n@dev MUST emit TransferSingle event on success\nCaller must be approved to manage the _from account's tokens (see isApprovedForAll)\nMUST throw if `_to` is the zero address\nMUST throw if balance of sender for token `_id` is lower than the `_amount` sent\nMUST throw on any other error\nWhen transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155Received` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 2870, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2859, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3432:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3432:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2861, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3447:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2863, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3460:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3460:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2865, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3473:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3473:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2867, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3490:20:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2866, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3490:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3431:80:15" - }, - "returnParameters": { - "id": 2869, - "nodeType": "ParameterList", - "parameters": [], - "src": "3520:0:15" - }, - "scope": 2923, - "src": "3406:115:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@dev MUST emit TransferBatch event on success\nCaller must be approved to manage the _from account's tokens (see isApprovedForAll)\nMUST throw if `_to` is the zero address\nMUST throw if length of `_ids` is not the same as length of `_amounts`\nMUST throw if any of the balance of sender for token `_ids` is lower than the respective `_amounts` sent\nMUST throw on any other error\nWhen transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155BatchReceived` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\nTransfers and events MUST occur in the array order they were submitted (_ids[0] before _ids[1], etc)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 2885, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2872, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4745:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2871, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4745:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2874, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4760:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2873, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4760:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2877, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4773:23:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4773:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2876, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4773:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2880, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4798:27:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4798:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2879, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4798:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2882, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4827:20:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2881, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4827:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4744:104:15" - }, - "returnParameters": { - "id": 2884, - "nodeType": "ParameterList", - "parameters": [], - "src": "4857:0:15" - }, - "scope": 2923, - "src": "4714:144:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Get the balance of an account's Tokens\n@param _owner The address of the token holder\n@param _id ID of the Token\n@return The _owner's balance of the Token type requested", - "id": 2894, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2887, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5102:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5102:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2889, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5118:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5118:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5101:29:15" - }, - "returnParameters": { - "id": 2893, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2892, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5154:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5154:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5153:9:15" - }, - "scope": 2923, - "src": "5083:80:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Get the balance of multiple account/token pairs\n@param _owners The addresses of the token holders\n@param _ids ID of the Tokens\n@return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)", - "id": 2906, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOfBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2897, - "name": "_owners", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5467:26:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5467:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2896, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5467:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2900, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5495:23:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5495:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2899, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5495:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5466:53:15" - }, - "returnParameters": { - "id": 2905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2904, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5543:16:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5543:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2903, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5543:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5542:18:15" - }, - "scope": 2923, - "src": "5443:118:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n@dev MUST emit the ApprovalForAll event on success\n@param _operator Address to add to the set of authorized operators\n@param _approved True if the operator is approved, false to revoke approval", - "id": 2913, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2908, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2913, - "src": "5919:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5919:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2910, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 2913, - "src": "5938:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2909, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5938:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:35:15" - }, - "returnParameters": { - "id": 2912, - "nodeType": "ParameterList", - "parameters": [], - "src": "5962:0:15" - }, - "scope": 2923, - "src": "5892:71:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Queries the approval status of an operator for a given owner\n@param _owner The owner of the Tokens\n@param _operator Address of authorized operator\n@return True if the operator is approved, false if not", - "id": 2922, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2918, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2915, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6250:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2914, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6250:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2917, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6266:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2916, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6266:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6249:35:15" - }, - "returnParameters": { - "id": 2921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2920, - "name": "isOperator", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6308:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2919, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6308:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6307:17:15" - }, - "scope": 2923, - "src": "6224:101:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 2924, - "src": "27:6300:15" - } - ], - "src": "0:6328:15" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "exportedSymbols": { - "IERC1155": [ - 2923 - ] - }, - "id": 2924, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2817, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:15" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 2923, - "linearizedBaseContracts": [ - 2923 - ], - "name": "IERC1155", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n Operator MUST be msg.sender\n When minting/creating tokens, the `_from` field MUST be set to `0x0`\n When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n To broadcast the existence of a token ID with no initial balance, the contract SHOULD emit the TransferSingle event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0", - "id": 2829, - "name": "TransferSingle", - "nodeType": "EventDefinition", - "parameters": { - "id": 2828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2819, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "954:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2818, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "954:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2821, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "981:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2823, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1004:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1004:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2825, - "indexed": false, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1025:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1025:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2827, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1038:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1038:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "953:101:15" - }, - "src": "933:122:15" - }, - { - "anonymous": false, - "documentation": "@dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n Operator MUST be msg.sender\n When minting/creating tokens, the `_from` field MUST be set to `0x0`\n When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n To broadcast the existence of multiple token IDs with no initial balance, this SHOULD emit the TransferBatch event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0", - "id": 2843, - "name": "TransferBatch", - "nodeType": "EventDefinition", - "parameters": { - "id": 2842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2831, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1824:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2830, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1824:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2833, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1851:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1851:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2835, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1874:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2834, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1874:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2838, - "indexed": false, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1895:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1895:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2837, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1895:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2841, - "indexed": false, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1911:18:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1911:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2840, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1911:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1823:107:15" - }, - "src": "1804:127:15" - }, - { - "anonymous": false, - "documentation": "@dev MUST emit when an approval is updated", - "id": 2851, - "name": "ApprovalForAll", - "nodeType": "EventDefinition", - "parameters": { - "id": 2850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2845, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2016:22:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2016:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2847, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2040:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2846, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2040:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2849, - "indexed": false, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2067:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2848, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2067:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2015:67:15" - }, - "src": "1995:88:15" - }, - { - "anonymous": false, - "documentation": "@dev MUST emit when the URI is updated for a token ID\n URIs are defined in RFC 3986\n The URI MUST point a JSON file that conforms to the \"ERC-1155 Metadata JSON Schema\"", - "id": 2857, - "name": "URI", - "nodeType": "EventDefinition", - "parameters": { - "id": 2856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2853, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2857, - "src": "2295:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2852, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2295:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2855, - "indexed": true, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2857, - "src": "2311:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2311:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2294:37:15" - }, - "src": "2285:47:15" - }, - { - "body": null, - "documentation": "@notice Transfers amount of an _id from the _from address to the _to address specified\n@dev MUST emit TransferSingle event on success\nCaller must be approved to manage the _from account's tokens (see isApprovedForAll)\nMUST throw if `_to` is the zero address\nMUST throw if balance of sender for token `_id` is lower than the `_amount` sent\nMUST throw on any other error\nWhen transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155Received` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 2870, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2859, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3432:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3432:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2861, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3447:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2863, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3460:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3460:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2865, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3473:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3473:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2867, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3490:20:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2866, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3490:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3431:80:15" - }, - "returnParameters": { - "id": 2869, - "nodeType": "ParameterList", - "parameters": [], - "src": "3520:0:15" - }, - "scope": 2923, - "src": "3406:115:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@dev MUST emit TransferBatch event on success\nCaller must be approved to manage the _from account's tokens (see isApprovedForAll)\nMUST throw if `_to` is the zero address\nMUST throw if length of `_ids` is not the same as length of `_amounts`\nMUST throw if any of the balance of sender for token `_ids` is lower than the respective `_amounts` sent\nMUST throw on any other error\nWhen transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155BatchReceived` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\nTransfers and events MUST occur in the array order they were submitted (_ids[0] before _ids[1], etc)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 2885, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2872, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4745:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2871, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4745:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2874, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4760:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2873, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4760:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2877, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4773:23:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4773:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2876, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4773:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2880, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4798:27:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4798:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2879, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4798:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2882, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4827:20:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2881, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4827:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4744:104:15" - }, - "returnParameters": { - "id": 2884, - "nodeType": "ParameterList", - "parameters": [], - "src": "4857:0:15" - }, - "scope": 2923, - "src": "4714:144:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Get the balance of an account's Tokens\n@param _owner The address of the token holder\n@param _id ID of the Token\n@return The _owner's balance of the Token type requested", - "id": 2894, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2887, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5102:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5102:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2889, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5118:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5118:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5101:29:15" - }, - "returnParameters": { - "id": 2893, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2892, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5154:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5154:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5153:9:15" - }, - "scope": 2923, - "src": "5083:80:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Get the balance of multiple account/token pairs\n@param _owners The addresses of the token holders\n@param _ids ID of the Tokens\n@return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)", - "id": 2906, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOfBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2897, - "name": "_owners", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5467:26:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5467:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2896, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5467:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2900, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5495:23:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5495:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2899, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5495:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5466:53:15" - }, - "returnParameters": { - "id": 2905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2904, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5543:16:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5543:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2903, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5543:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5542:18:15" - }, - "scope": 2923, - "src": "5443:118:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n@dev MUST emit the ApprovalForAll event on success\n@param _operator Address to add to the set of authorized operators\n@param _approved True if the operator is approved, false to revoke approval", - "id": 2913, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2908, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2913, - "src": "5919:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5919:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2910, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 2913, - "src": "5938:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2909, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5938:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:35:15" - }, - "returnParameters": { - "id": 2912, - "nodeType": "ParameterList", - "parameters": [], - "src": "5962:0:15" - }, - "scope": 2923, - "src": "5892:71:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Queries the approval status of an operator for a given owner\n@param _owner The owner of the Tokens\n@param _operator Address of authorized operator\n@return True if the operator is approved, false if not", - "id": 2922, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2918, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2915, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6250:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2914, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6250:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2917, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6266:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2916, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6266:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6249:35:15" - }, - "returnParameters": { - "id": 2921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2920, - "name": "isOperator", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6308:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2919, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6308:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6307:17:15" - }, - "scope": 2923, - "src": "6224:101:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 2924, - "src": "27:6300:15" - } - ], - "src": "0:6328:15" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.623Z", - "devdoc": { - "methods": { - "balanceOf(address,uint256)": { - "params": { - "_id": "ID of the Token", - "_owner": "The address of the token holder" - }, - "return": "The _owner's balance of the Token type requested" - }, - "balanceOfBatch(address[],uint256[])": { - "params": { - "_ids": "ID of the Tokens", - "_owners": "The addresses of the token holders" - }, - "return": "The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)" - }, - "isApprovedForAll(address,address)": { - "params": { - "_operator": "Address of authorized operator", - "_owner": "The owner of the Tokens" - }, - "return": "True if the operator is approved, false if not" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "details": "MUST emit TransferBatch event on success Caller must be approved to manage the _from account's tokens (see isApprovedForAll) MUST throw if `_to` is the zero address MUST throw if length of `_ids` is not the same as length of `_amounts` MUST throw if any of the balance of sender for token `_ids` is lower than the respective `_amounts` sent MUST throw on any other error When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155BatchReceived` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` Transfers and events MUST occur in the array order they were submitted (_ids[0] before _ids[1], etc)", - "params": { - "_amounts": "Transfer amounts per token type", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source addresses", - "_ids": "IDs of each token type", - "_to": "Target addresses" - } - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "details": "MUST emit TransferSingle event on success Caller must be approved to manage the _from account's tokens (see isApprovedForAll) MUST throw if `_to` is the zero address MUST throw if balance of sender for token `_id` is lower than the `_amount` sent MUST throw on any other error When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155Received` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`", - "params": { - "_amount": "Transfered amount", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source address", - "_id": "ID of the token type", - "_to": "Target address" - } - }, - "setApprovalForAll(address,bool)": { - "details": "MUST emit the ApprovalForAll event on success", - "params": { - "_approved": "True if the operator is approved, false to revoke approval", - "_operator": "Address to add to the set of authorized operators" - } - } - } - }, - "userdoc": { - "methods": { - "balanceOf(address,uint256)": { - "notice": "Get the balance of an account's Tokens" - }, - "balanceOfBatch(address[],uint256[])": { - "notice": "Get the balance of multiple account/token pairs" - }, - "isApprovedForAll(address,address)": { - "notice": "Queries the approval status of an operator for a given owner" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "notice": "Send multiple types of Tokens from the _from address to the _to address (with safety call)" - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "notice": "Transfers amount of an _id from the _from address to the _to address specified" - }, - "setApprovalForAll(address,bool)": { - "notice": "Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens" - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC1155TokenReceiver.json b/packages/proxyIdentity/build/contracts/IERC1155TokenReceiver.json deleted file mode 100644 index 8e9692bf..00000000 --- a/packages/proxyIdentity/build/contracts/IERC1155TokenReceiver.json +++ /dev/null @@ -1,1201 +0,0 @@ -{ - "contractName": "IERC1155TokenReceiver", - "abi": [ - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC-1155 interface for accepting safe transfers.\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated This function MAY throw to revert and reject the transfer Return of other amount than the magic value WILL result in the transaction being reverted Note: The token contract address is always the message sender\",\"params\":{\"_amounts\":\"An array containing amounts of each token being transferred\",\"_data\":\"Additional data with no specified format\",\"_from\":\"The address which previously owned the token\",\"_ids\":\"An array containing ids of each token being transferred\",\"_operator\":\"The address which called the `safeBatchTransferFrom` function\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))`\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated This function MAY throw to revert and reject the transfer Return of other amount than the magic value MUST result in the transaction being reverted Note: The token contract address is always the message sender\",\"params\":{\"_amount\":\"The amount of tokens being transferred\",\"_data\":\"Additional data with no specified format\",\"_from\":\"The address which previously owned the token\",\"_id\":\"The id of the token being transferred\",\"_operator\":\"The address which called the `safeTransferFrom` function\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))`\"},\"supportsInterface(bytes4)\":{\"details\":\"This function MUST return true if it implements the ERC1155TokenReceiver interface and ERC-165 interface. This function MUST NOT consume more than 5,000 gas.\",\"params\":{\"interfaceID\":\"The ERC-165 interface ID that is queried for support.s\"},\"return\":\"Whether ERC-165 or ERC1155TokenReceiver interfaces are supported.\"}}},\"userdoc\":{\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Handle the receipt of multiple ERC1155 token types\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"notice\":\"Handle the receipt of a single ERC1155 token type\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates whether a contract implements the `ERC1155TokenReceiver` functions and so can accept ERC1155 token types.\"}}}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":\"IERC1155TokenReceiver\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.16;\n\n/**\n * @dev ERC-1155 interface for accepting safe transfers.\n */\ninterface IERC1155TokenReceiver {\n\n /**\n * @notice Handle the receipt of a single ERC1155 token type\n * @dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated\n * This function MAY throw to revert and reject the transfer\n * Return of other amount than the magic value MUST result in the transaction being reverted\n * Note: The token contract address is always the message sender\n * @param _operator The address which called the `safeTransferFrom` function\n * @param _from The address which previously owned the token\n * @param _id The id of the token being transferred\n * @param _amount The amount of tokens being transferred\n * @param _data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n */\n function onERC1155Received(address _operator, address _from, uint256 _id, uint256 _amount, bytes calldata _data) external returns(bytes4);\n\n /**\n * @notice Handle the receipt of multiple ERC1155 token types\n * @dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated\n * This function MAY throw to revert and reject the transfer\n * Return of other amount than the magic value WILL result in the transaction being reverted\n * Note: The token contract address is always the message sender\n * @param _operator The address which called the `safeBatchTransferFrom` function\n * @param _from The address which previously owned the token\n * @param _ids An array containing ids of each token being transferred\n * @param _amounts An array containing amounts of each token being transferred\n * @param _data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n */\n function onERC1155BatchReceived(address _operator, address _from, uint256[] calldata _ids, uint256[] calldata _amounts, bytes calldata _data) external returns(bytes4);\n\n /**\n * @notice Indicates whether a contract implements the `ERC1155TokenReceiver` functions and so can accept ERC1155 token types.\n * @param interfaceID The ERC-165 interface ID that is queried for support.s\n * @dev This function MUST return true if it implements the ERC1155TokenReceiver interface and ERC-165 interface.\n * This function MUST NOT consume more than 5,000 gas.\n * @return Whether ERC-165 or ERC1155TokenReceiver interfaces are supported.\n */\n function supportsInterface(bytes4 interfaceID) external view returns (bool);\n}\n", - "sourcePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "exportedSymbols": { - "IERC1155TokenReceiver": [ - 2965 - ] - }, - "id": 2966, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2925, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:16" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev ERC-1155 interface for accepting safe transfers.", - "fullyImplemented": false, - "id": 2965, - "linearizedBaseContracts": [ - 2965 - ], - "name": "IERC1155TokenReceiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@notice Handle the receipt of a single ERC1155 token type\n@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated\nThis function MAY throw to revert and reject the transfer\nReturn of other amount than the magic value MUST result in the transaction being reverted\nNote: The token contract address is always the message sender\n@param _operator The address which called the `safeTransferFrom` function\n@param _from The address which previously owned the token\n@param _id The id of the token being transferred\n@param _amount The amount of tokens being transferred\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`", - "id": 2940, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2927, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1066:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2926, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1066:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2929, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1085:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2928, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1085:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2931, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1100:11:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1100:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2933, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1113:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2932, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1113:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2935, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1130:20:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2934, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1130:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1065:86:16" - }, - "returnParameters": { - "id": 2939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2938, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1169:6:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2937, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1169:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1168:8:16" - }, - "scope": 2965, - "src": "1039:138:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Handle the receipt of multiple ERC1155 token types\n@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated\nThis function MAY throw to revert and reject the transfer\nReturn of other amount than the magic value WILL result in the transaction being reverted\nNote: The token contract address is always the message sender\n@param _operator The address which called the `safeBatchTransferFrom` function\n@param _from The address which previously owned the token\n@param _ids An array containing ids of each token being transferred\n@param _amounts An array containing amounts of each token being transferred\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`", - "id": 2957, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2942, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2185:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2185:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2944, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2204:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2204:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2947, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2219:23:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2219:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2946, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2219:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2950, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2244:27:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2244:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2949, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2244:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2952, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2273:20:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2951, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2273:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2184:110:16" - }, - "returnParameters": { - "id": 2956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2312:6:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2954, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2312:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2311:8:16" - }, - "scope": 2965, - "src": "2153:167:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Indicates whether a contract implements the `ERC1155TokenReceiver` functions and so can accept ERC1155 token types.\n@param interfaceID The ERC-165 interface ID that is queried for support.s\n@dev This function MUST return true if it implements the ERC1155TokenReceiver interface and ERC-165 interface.\n This function MUST NOT consume more than 5,000 gas.\n@return Whether ERC-165 or ERC1155TokenReceiver interfaces are supported.", - "id": 2964, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2959, - "name": "interfaceID", - "nodeType": "VariableDeclaration", - "scope": 2964, - "src": "2829:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2958, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2829:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2828:20:16" - }, - "returnParameters": { - "id": 2963, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2962, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2964, - "src": "2872:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2961, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2872:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2871:6:16" - }, - "scope": 2965, - "src": "2802:76:16", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 2966, - "src": "91:2789:16" - } - ], - "src": "0:2881:16" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "exportedSymbols": { - "IERC1155TokenReceiver": [ - 2965 - ] - }, - "id": 2966, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2925, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:16" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev ERC-1155 interface for accepting safe transfers.", - "fullyImplemented": false, - "id": 2965, - "linearizedBaseContracts": [ - 2965 - ], - "name": "IERC1155TokenReceiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@notice Handle the receipt of a single ERC1155 token type\n@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated\nThis function MAY throw to revert and reject the transfer\nReturn of other amount than the magic value MUST result in the transaction being reverted\nNote: The token contract address is always the message sender\n@param _operator The address which called the `safeTransferFrom` function\n@param _from The address which previously owned the token\n@param _id The id of the token being transferred\n@param _amount The amount of tokens being transferred\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`", - "id": 2940, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2927, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1066:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2926, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1066:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2929, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1085:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2928, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1085:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2931, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1100:11:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1100:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2933, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1113:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2932, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1113:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2935, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1130:20:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2934, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1130:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1065:86:16" - }, - "returnParameters": { - "id": 2939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2938, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1169:6:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2937, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1169:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1168:8:16" - }, - "scope": 2965, - "src": "1039:138:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Handle the receipt of multiple ERC1155 token types\n@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated\nThis function MAY throw to revert and reject the transfer\nReturn of other amount than the magic value WILL result in the transaction being reverted\nNote: The token contract address is always the message sender\n@param _operator The address which called the `safeBatchTransferFrom` function\n@param _from The address which previously owned the token\n@param _ids An array containing ids of each token being transferred\n@param _amounts An array containing amounts of each token being transferred\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`", - "id": 2957, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2942, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2185:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2185:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2944, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2204:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2204:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2947, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2219:23:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2219:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2946, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2219:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2950, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2244:27:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2244:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2949, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2244:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2952, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2273:20:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2951, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2273:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2184:110:16" - }, - "returnParameters": { - "id": 2956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2312:6:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2954, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2312:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2311:8:16" - }, - "scope": 2965, - "src": "2153:167:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Indicates whether a contract implements the `ERC1155TokenReceiver` functions and so can accept ERC1155 token types.\n@param interfaceID The ERC-165 interface ID that is queried for support.s\n@dev This function MUST return true if it implements the ERC1155TokenReceiver interface and ERC-165 interface.\n This function MUST NOT consume more than 5,000 gas.\n@return Whether ERC-165 or ERC1155TokenReceiver interfaces are supported.", - "id": 2964, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2959, - "name": "interfaceID", - "nodeType": "VariableDeclaration", - "scope": 2964, - "src": "2829:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2958, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2829:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2828:20:16" - }, - "returnParameters": { - "id": 2963, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2962, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2964, - "src": "2872:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2961, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2872:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2871:6:16" - }, - "scope": 2965, - "src": "2802:76:16", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 2966, - "src": "91:2789:16" - } - ], - "src": "0:2881:16" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.625Z", - "devdoc": { - "details": "ERC-1155 interface for accepting safe transfers.", - "methods": { - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "details": "An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated This function MAY throw to revert and reject the transfer Return of other amount than the magic value WILL result in the transaction being reverted Note: The token contract address is always the message sender", - "params": { - "_amounts": "An array containing amounts of each token being transferred", - "_data": "Additional data with no specified format", - "_from": "The address which previously owned the token", - "_ids": "An array containing ids of each token being transferred", - "_operator": "The address which called the `safeBatchTransferFrom` function" - }, - "return": "`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`" - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "details": "An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated This function MAY throw to revert and reject the transfer Return of other amount than the magic value MUST result in the transaction being reverted Note: The token contract address is always the message sender", - "params": { - "_amount": "The amount of tokens being transferred", - "_data": "Additional data with no specified format", - "_from": "The address which previously owned the token", - "_id": "The id of the token being transferred", - "_operator": "The address which called the `safeTransferFrom` function" - }, - "return": "`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`" - }, - "supportsInterface(bytes4)": { - "details": "This function MUST return true if it implements the ERC1155TokenReceiver interface and ERC-165 interface. This function MUST NOT consume more than 5,000 gas.", - "params": { - "interfaceID": "The ERC-165 interface ID that is queried for support.s" - }, - "return": "Whether ERC-165 or ERC1155TokenReceiver interfaces are supported." - } - } - }, - "userdoc": { - "methods": { - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "notice": "Handle the receipt of multiple ERC1155 token types" - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "notice": "Handle the receipt of a single ERC1155 token type" - }, - "supportsInterface(bytes4)": { - "notice": "Indicates whether a contract implements the `ERC1155TokenReceiver` functions and so can accept ERC1155 token types." - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC165.json b/packages/proxyIdentity/build/contracts/IERC165.json deleted file mode 100644 index edd5d0ae..00000000 --- a/packages/proxyIdentity/build/contracts/IERC165.json +++ /dev/null @@ -1,303 +0,0 @@ -{ - "contractName": "IERC165", - "abi": [ - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Interface identification is specified in ERC-165. This function uses less than 30,000 gas\",\"params\":{\"_interfaceId\":\"The interface identifier, as specified in ERC-165\"}}},\"title\":\"ERC165\"},\"userdoc\":{\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/interfaces/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.16;\n\n\n/**\n * @title ERC165\n * @dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md\n */\ninterface IERC165 {\n\n /**\n * @notice Query if a contract implements an interface\n * @dev Interface identification is specified in ERC-165. This function\n * uses less than 30,000 gas\n * @param _interfaceId The interface identifier, as specified in ERC-165\n */\n function supportsInterface(bytes4 _interfaceId)\n external\n view\n returns (bool);\n}", - "sourcePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 2975 - ] - }, - "id": 2976, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2967, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:17" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title ERC165\n@dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md", - "fullyImplemented": false, - "id": 2975, - "linearizedBaseContracts": [ - 2975 - ], - "name": "IERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@notice Query if a contract implements an interface\n@dev Interface identification is specified in ERC-165. This function\nuses less than 30,000 gas\n@param _interfaceId The interface identifier, as specified in ERC-165", - "id": 2974, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2969, - "name": "_interfaceId", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "434:19:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2968, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "434:6:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "433:21:17" - }, - "returnParameters": { - "id": 2973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2972, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "490:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2971, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "490:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "489:6:17" - }, - "scope": 2975, - "src": "407:89:17", - "stateMutability": "view", - "superFunction": 2964, - "visibility": "external" - } - ], - "scope": 2976, - "src": "121:377:17" - } - ], - "src": "0:498:17" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 2975 - ] - }, - "id": 2976, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2967, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:17" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title ERC165\n@dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md", - "fullyImplemented": false, - "id": 2975, - "linearizedBaseContracts": [ - 2975 - ], - "name": "IERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@notice Query if a contract implements an interface\n@dev Interface identification is specified in ERC-165. This function\nuses less than 30,000 gas\n@param _interfaceId The interface identifier, as specified in ERC-165", - "id": 2974, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2969, - "name": "_interfaceId", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "434:19:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2968, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "434:6:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "433:21:17" - }, - "returnParameters": { - "id": 2973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2972, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "490:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2971, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "490:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "489:6:17" - }, - "scope": 2975, - "src": "407:89:17", - "stateMutability": "view", - "superFunction": 2964, - "visibility": "external" - } - ], - "scope": 2976, - "src": "121:377:17" - } - ], - "src": "0:498:17" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.626Z", - "devdoc": { - "details": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md", - "methods": { - "supportsInterface(bytes4)": { - "details": "Interface identification is specified in ERC-165. This function uses less than 30,000 gas", - "params": { - "_interfaceId": "The interface identifier, as specified in ERC-165" - } - } - }, - "title": "ERC165" - }, - "userdoc": { - "methods": { - "supportsInterface(bytes4)": { - "notice": "Query if a contract implements an interface" - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC20.json b/packages/proxyIdentity/build/contracts/IERC20.json deleted file mode 100644 index fdcaf8e9..00000000 --- a/packages/proxyIdentity/build/contracts/IERC20.json +++ /dev/null @@ -1,1906 +0,0 @@ -{ - "contractName": "IERC20", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP. Does not include the optional functions; to access them see {ERC20Detailed}.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP. Does not include\n * the optional functions; to access them see {ERC20Detailed}.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 2815 - ] - }, - "id": 2816, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2748, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:14" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see {ERC20Detailed}.", - "fullyImplemented": false, - "id": 2815, - "linearizedBaseContracts": [ - 2815 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the amount of tokens in existence.", - "id": 2753, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2749, - "nodeType": "ParameterList", - "parameters": [], - "src": "290:2:14" - }, - "returnParameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2751, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2753, - "src": "316:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "316:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:9:14" - }, - "scope": 2815, - "src": "270:55:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the amount of tokens owned by `account`.", - "id": 2760, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2755, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2760, - "src": "427:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2754, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "427:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "426:17:14" - }, - "returnParameters": { - "id": 2759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2758, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2760, - "src": "467:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "467:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "466:9:14" - }, - "scope": 2815, - "src": "408:68:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 2769, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2762, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "714:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2761, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "714:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2764, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "733:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "733:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "713:35:14" - }, - "returnParameters": { - "id": 2768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2767, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "767:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2766, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "767:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "766:6:14" - }, - "scope": 2815, - "src": "696:77:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "id": 2778, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2771, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1067:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1067:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2773, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1082:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2772, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1082:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1066:32:14" - }, - "returnParameters": { - "id": 2777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2776, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1122:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1122:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1121:9:14" - }, - "scope": 2815, - "src": "1048:83:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "id": 2787, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2783, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2780, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1801:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2779, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2782, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1818:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1818:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1800:33:14" - }, - "returnParameters": { - "id": 2786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2785, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1852:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2784, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1852:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1851:6:14" - }, - "scope": 2815, - "src": "1784:74:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 2798, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2789, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2187:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2788, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2187:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2791, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2203:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2790, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2203:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2793, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2222:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2222:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2186:51:14" - }, - "returnParameters": { - "id": 2797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2796, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2256:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2795, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2256:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2255:6:14" - }, - "scope": 2815, - "src": "2165:97:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 2806, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 2805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2800, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2446:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2799, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2802, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2468:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2801, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2468:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2804, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2488:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2488:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2445:57:14" - }, - "src": "2431:72:14" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 2814, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 2813, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2808, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2677:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2677:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2810, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2700:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2809, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2700:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2812, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2725:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2725:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2676:63:14" - }, - "src": "2662:78:14" - } - ], - "scope": 2816, - "src": "176:2566:14" - } - ], - "src": "0:2743:14" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 2815 - ] - }, - "id": 2816, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2748, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:14" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see {ERC20Detailed}.", - "fullyImplemented": false, - "id": 2815, - "linearizedBaseContracts": [ - 2815 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the amount of tokens in existence.", - "id": 2753, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2749, - "nodeType": "ParameterList", - "parameters": [], - "src": "290:2:14" - }, - "returnParameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2751, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2753, - "src": "316:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "316:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:9:14" - }, - "scope": 2815, - "src": "270:55:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the amount of tokens owned by `account`.", - "id": 2760, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2755, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2760, - "src": "427:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2754, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "427:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "426:17:14" - }, - "returnParameters": { - "id": 2759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2758, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2760, - "src": "467:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "467:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "466:9:14" - }, - "scope": 2815, - "src": "408:68:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 2769, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2762, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "714:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2761, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "714:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2764, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "733:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "733:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "713:35:14" - }, - "returnParameters": { - "id": 2768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2767, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "767:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2766, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "767:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "766:6:14" - }, - "scope": 2815, - "src": "696:77:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "id": 2778, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2771, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1067:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1067:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2773, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1082:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2772, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1082:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1066:32:14" - }, - "returnParameters": { - "id": 2777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2776, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1122:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1122:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1121:9:14" - }, - "scope": 2815, - "src": "1048:83:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "id": 2787, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2783, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2780, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1801:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2779, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2782, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1818:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1818:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1800:33:14" - }, - "returnParameters": { - "id": 2786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2785, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1852:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2784, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1852:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1851:6:14" - }, - "scope": 2815, - "src": "1784:74:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 2798, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2789, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2187:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2788, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2187:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2791, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2203:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2790, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2203:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2793, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2222:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2222:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2186:51:14" - }, - "returnParameters": { - "id": 2797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2796, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2256:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2795, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2256:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2255:6:14" - }, - "scope": 2815, - "src": "2165:97:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 2806, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 2805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2800, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2446:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2799, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2802, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2468:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2801, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2468:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2804, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2488:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2488:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2445:57:14" - }, - "src": "2431:72:14" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 2814, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 2813, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2808, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2677:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2677:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2810, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2700:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2809, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2700:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2812, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2725:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2725:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2676:63:14" - }, - "src": "2662:78:14" - } - ], - "scope": 2816, - "src": "176:2566:14" - } - ], - "src": "0:2743:14" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.621Z", - "devdoc": { - "details": "Interface of the ERC20 standard as defined in the EIP. Does not include the optional functions; to access them see {ERC20Detailed}.", - "methods": { - "allowance(address,address)": { - "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called." - }, - "approve(address,uint256)": { - "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the amount of tokens owned by `account`." - }, - "totalSupply()": { - "details": "Returns the amount of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC223.json b/packages/proxyIdentity/build/contracts/IERC223.json deleted file mode 100644 index e92b1853..00000000 --- a/packages/proxyIdentity/build/contracts/IERC223.json +++ /dev/null @@ -1,786 +0,0 @@ -{ - "contractName": "IERC223", - "abi": [ - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":\"IERC223\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\n\ninterface IERC223 {\n function transfer(\n address to,\n uint256 value,\n bytes calldata data\n ) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value,\n bytes calldata data\n ) external returns (bool);\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "exportedSymbols": { - "IERC223": [ - 27 - ] - }, - "id": 28, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:0" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 28, - "sourceUnit": 2816, - "src": "25:56:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 27, - "linearizedBaseContracts": [ - 27 - ], - "name": "IERC223", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 13, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "129:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "129:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "145:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "145:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "164:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "123:64:0" - }, - "returnParameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "206:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "206:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "205:6:0" - }, - "scope": 27, - "src": "106:106:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 26, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "243:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "243:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "261:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "261:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "277:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "277:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "296:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 20, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "296:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "237:82:0" - }, - "returnParameters": { - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "338:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "338:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "337:6:0" - }, - "scope": 27, - "src": "216:128:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 28, - "src": "84:262:0" - } - ], - "src": "0:347:0" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "exportedSymbols": { - "IERC223": [ - 27 - ] - }, - "id": 28, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:0" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 28, - "sourceUnit": 2816, - "src": "25:56:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 27, - "linearizedBaseContracts": [ - 27 - ], - "name": "IERC223", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 13, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "129:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "129:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "145:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "145:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "164:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "123:64:0" - }, - "returnParameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "206:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "206:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "205:6:0" - }, - "scope": 27, - "src": "106:106:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 26, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "243:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "243:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "261:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "261:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "277:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "277:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "296:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 20, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "296:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "237:82:0" - }, - "returnParameters": { - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "338:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "338:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "337:6:0" - }, - "scope": 27, - "src": "216:128:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 28, - "src": "84:262:0" - } - ], - "src": "0:347:0" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.556Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC223Receiver.json b/packages/proxyIdentity/build/contracts/IERC223Receiver.json deleted file mode 100644 index 4fbc88f5..00000000 --- a/packages/proxyIdentity/build/contracts/IERC223Receiver.json +++ /dev/null @@ -1,465 +0,0 @@ -{ - "contractName": "IERC223Receiver", - "abi": [ - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_origin", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "tokenFallback", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"tokenFallback\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":\"IERC223Receiver\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\n\ninterface IERC223Receiver {\n function tokenFallback(\n address _sender,\n address _origin,\n uint256 _value,\n bytes calldata _data\n ) external returns (bool);\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "exportedSymbols": { - "IERC223Receiver": [ - 43 - ] - }, - "id": 44, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 29, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:1" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 43, - "linearizedBaseContracts": [ - 43 - ], - "name": "IERC223Receiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 42, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 31, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "84:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "84:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 33, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "105:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 32, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "105:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 35, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "126:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 34, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "126:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 37, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "146:20:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 36, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "146:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "78:92:1" - }, - "returnParameters": { - "id": 41, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 40, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "189:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 39, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "189:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "188:6:1" - }, - "scope": 43, - "src": "56:139:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 44, - "src": "26:171:1" - } - ], - "src": "0:198:1" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "exportedSymbols": { - "IERC223Receiver": [ - 43 - ] - }, - "id": 44, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 29, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:1" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 43, - "linearizedBaseContracts": [ - 43 - ], - "name": "IERC223Receiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 42, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 31, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "84:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "84:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 33, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "105:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 32, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "105:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 35, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "126:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 34, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "126:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 37, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "146:20:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 36, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "146:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "78:92:1" - }, - "returnParameters": { - "id": 41, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 40, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "189:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 39, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "189:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "188:6:1" - }, - "scope": 43, - "src": "56:139:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 44, - "src": "26:171:1" - } - ], - "src": "0:198:1" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.557Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IdentityManager.json b/packages/proxyIdentity/build/contracts/IdentityManager.json new file mode 100644 index 00000000..5ec92fe8 --- /dev/null +++ b/packages/proxyIdentity/build/contracts/IdentityManager.json @@ -0,0 +1,5440 @@ +{ + "contractName": "IdentityManager", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "at", + "type": "uint256" + } + ], + "name": "IdentityCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "oferedto", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "at", + "type": "uint256" + } + ], + "name": "IdentityOfferCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "offeredTo", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "at", + "type": "uint256" + } + ], + "name": "IdentityOfferRejected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "offeredTo", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "at", + "type": "uint256" + } + ], + "name": "IdentityOffered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "at", + "type": "uint256" + } + ], + "name": "IdentityTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "identityCreated", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "address", + "name": "offeredTo", + "type": "address" + } + ], + "name": "identityOffered", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "identityAccepted", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "address", + "name": "offeredTo", + "type": "address" + } + ], + "name": "identityRejected", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "address", + "name": "offeredTo", + "type": "address" + } + ], + "name": "identityOfferCanceled", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"at\",\"type\":\"uint256\"}],\"name\":\"IdentityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oferedto\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"at\",\"type\":\"uint256\"}],\"name\":\"IdentityOfferCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"offeredTo\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"at\",\"type\":\"uint256\"}],\"name\":\"IdentityOfferRejected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"offeredTo\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"at\",\"type\":\"uint256\"}],\"name\":\"IdentityOffered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"at\",\"type\":\"uint256\"}],\"name\":\"IdentityTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"identityAccepted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"identityCreated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"offeredTo\",\"type\":\"address\"}],\"name\":\"identityOfferCanceled\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"offeredTo\",\"type\":\"address\"}],\"name\":\"identityOffered\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"offeredTo\",\"type\":\"address\"}],\"name\":\"identityRejected\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/IdentityManager.sol\":\"IdentityManager\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/IdentityManager.sol\":{\"keccak256\":\"0xdb2e46f2eea17dc83889e50a2a51fab1fccb767959b1794bb03f63a1484e12ea\",\"urls\":[\"bzz-raw://e724e6133641a7db837d2eac7d7104d43af677af4aabb484e1dffe6df556e14c\",\"dweb:/ipfs/QmdeQr75RixxeVDRWDVnWpjbw6RPmApr8gdQt2zKyLZnua\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50610623806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063396eee9d1461005c57806370b29f9514610078578063b02c6dc214610094578063e3db3394146100b0578063f94a113c146100cc575b600080fd5b61007660048036038101906100719190610472565b6100e8565b005b610092600480360381019061008d9190610472565b610199565b005b6100ae60048036038101906100a99190610472565b61024a565b005b6100ca60048036038101906100c59190610472565b6102fb565b005b6100e660048036038101906100e19190610472565b6103ac565b005b33828073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014f90610569565b60405180910390fd5b7fb9fb8e551e2c1eca32cadcff5fba92a08c15e5fdb3d0b5b77b3c0c299cb6d4e084844260405161018b93929190610532565b60405180910390a150505050565b33828073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020090610569565b60405180910390fd5b7f935587b2ac44cbc8f19b54532d7d55c0bfb1f1d498f42f208eaf88fba9c65a6384844260405161023c93929190610532565b60405180910390a150505050565b33828073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146102ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b190610569565b60405180910390fd5b7fbbe0597fdd5bc2d135558aa31f17ef62089a93a9b1fe54ada49460932b638e4f8484426040516102ed93929190610532565b60405180910390a150505050565b33828073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461036b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036290610569565b60405180910390fd5b7f8e71f7bc7ebba20b12f08839f36b608d13edfe92797f897da323df31c532beab84844260405161039e93929190610532565b60405180910390a150505050565b33828073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461041c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041390610569565b60405180910390fd5b7faea7c47396665b9fd72ba56af8f5a91735fbeeb95bd61c38cd2d3992ed27a18684844260405161044f93929190610532565b60405180910390a150505050565b60008135905061046c816105d6565b92915050565b6000806040838503121561048557600080fd5b60006104938582860161045d565b92505060206104a48582860161045d565b9150509250929050565b6104b78161059a565b82525050565b60006104ca602d83610589565b91507f4964656e746974792063616c6c6261636b206d75737420626520696e766f6b6560008301527f64206279206964656e74697479000000000000000000000000000000000000006020830152604082019050919050565b61052c816105cc565b82525050565b600060608201905061054760008301866104ae565b61055460208301856104ae565b6105616040830184610523565b949350505050565b60006020820190508181036000830152610582816104bd565b9050919050565b600082825260208201905092915050565b60006105a5826105ac565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6105df8161059a565b81146105ea57600080fd5b5056fea26469706673582212205e39957f1508a74f4f436271098969872755678776fb3900ea9abf8977bfc4bb64736f6c63430008000033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063396eee9d1461005c57806370b29f9514610078578063b02c6dc214610094578063e3db3394146100b0578063f94a113c146100cc575b600080fd5b61007660048036038101906100719190610472565b6100e8565b005b610092600480360381019061008d9190610472565b610199565b005b6100ae60048036038101906100a99190610472565b61024a565b005b6100ca60048036038101906100c59190610472565b6102fb565b005b6100e660048036038101906100e19190610472565b6103ac565b005b33828073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014f90610569565b60405180910390fd5b7fb9fb8e551e2c1eca32cadcff5fba92a08c15e5fdb3d0b5b77b3c0c299cb6d4e084844260405161018b93929190610532565b60405180910390a150505050565b33828073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020090610569565b60405180910390fd5b7f935587b2ac44cbc8f19b54532d7d55c0bfb1f1d498f42f208eaf88fba9c65a6384844260405161023c93929190610532565b60405180910390a150505050565b33828073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146102ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b190610569565b60405180910390fd5b7fbbe0597fdd5bc2d135558aa31f17ef62089a93a9b1fe54ada49460932b638e4f8484426040516102ed93929190610532565b60405180910390a150505050565b33828073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461036b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036290610569565b60405180910390fd5b7f8e71f7bc7ebba20b12f08839f36b608d13edfe92797f897da323df31c532beab84844260405161039e93929190610532565b60405180910390a150505050565b33828073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461041c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041390610569565b60405180910390fd5b7faea7c47396665b9fd72ba56af8f5a91735fbeeb95bd61c38cd2d3992ed27a18684844260405161044f93929190610532565b60405180910390a150505050565b60008135905061046c816105d6565b92915050565b6000806040838503121561048557600080fd5b60006104938582860161045d565b92505060206104a48582860161045d565b9150509250929050565b6104b78161059a565b82525050565b60006104ca602d83610589565b91507f4964656e746974792063616c6c6261636b206d75737420626520696e766f6b6560008301527f64206279206964656e74697479000000000000000000000000000000000000006020830152604082019050919050565b61052c816105cc565b82525050565b600060608201905061054760008301866104ae565b61055460208301856104ae565b6105616040830184610523565b949350505050565b60006020820190508181036000830152610582816104bd565b9050919050565b600082825260208201905092915050565b60006105a5826105ac565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6105df8161059a565b81146105ea57600080fd5b5056fea26469706673582212205e39957f1508a74f4f436271098969872755678776fb3900ea9abf8977bfc4bb64736f6c63430008000033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:2686:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "59:87:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "69:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "91:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "78:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "78:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "69:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "134:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "107:26:2" + }, + "nodeType": "YulFunctionCall", + "src": "107:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "107:33:2" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "37:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "45:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "53:5:2", + "type": "" + } + ], + "src": "7:139:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "235:324:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "281:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "290:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "293:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "283:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "283:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "283:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "256:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "265:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "252:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "252:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "277:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "248:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "248:32:2" + }, + "nodeType": "YulIf", + "src": "245:2:2" + }, + { + "nodeType": "YulBlock", + "src": "307:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "322:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "336:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "326:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "351:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "386:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "397:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "382:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "382:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "406:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "361:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "361:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "351:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "434:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "449:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "463:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "453:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "479:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "514:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "525:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "510:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "510:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "534:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "489:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "489:53:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "479:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "197:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "208:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "220:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "228:6:2", + "type": "" + } + ], + "src": "152:407:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "630:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "647:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "670:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "652:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "652:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "640:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "640:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "640:37:2" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "618:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "625:3:2", + "type": "" + } + ], + "src": "565:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "835:231:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "845:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "911:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "916:2:2", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "852:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "852:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "845:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "940:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "945:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "936:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "936:11:2" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "949:34:2", + "type": "", + "value": "Identity callback must be invoke" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "929:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "929:55:2" + }, + "nodeType": "YulExpressionStatement", + "src": "929:55:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1005:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1010:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1001:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1001:12:2" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "1015:15:2", + "type": "", + "value": "d by identity" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "994:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "994:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "994:37:2" + }, + { + "nodeType": "YulAssignment", + "src": "1041:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1052:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1057:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1048:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1048:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1041:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_58fde6045db4d34cb36b7e4ff163b5d3a73568c3d4fc8b57f06ee462d8a919a9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "823:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "831:3:2", + "type": "" + } + ], + "src": "689:377:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1137:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1154:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1177:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1159:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "1159:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1147:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1147:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1147:37:2" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1125:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1132:3:2", + "type": "" + } + ], + "src": "1072:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1350:288:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1360:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1372:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1383:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1368:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1368:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1360:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1440:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1453:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1464:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1449:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1449:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "1396:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "1396:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1396:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1521:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1534:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1545:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1530:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1530:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "1477:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "1477:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1477:72:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1603:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1616:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1627:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1612:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1612:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "1559:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "1559:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1559:72:2" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1306:9:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "1318:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1326:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1334:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1345:4:2", + "type": "" + } + ], + "src": "1196:442:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1815:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1825:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1837:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1848:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1833:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1833:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1825:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1872:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1883:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1868:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1868:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1891:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1897:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1887:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1887:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1861:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1861:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1861:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "1917:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2051:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_58fde6045db4d34cb36b7e4ff163b5d3a73568c3d4fc8b57f06ee462d8a919a9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "1925:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "1925:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1917:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_58fde6045db4d34cb36b7e4ff163b5d3a73568c3d4fc8b57f06ee462d8a919a9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1795:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1810:4:2", + "type": "" + } + ], + "src": "1644:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2165:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2182:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2187:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2175:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2175:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2175:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "2203:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2222:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2227:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2218:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2218:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "2203:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2137:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2142:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "2153:11:2", + "type": "" + } + ], + "src": "2069:169:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2289:51:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2299:35:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2328:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "2310:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "2310:24:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2299:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2271:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2281:7:2", + "type": "" + } + ], + "src": "2244:96:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2391:81:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2401:65:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2416:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2423:42:2", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2412:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2412:54:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2401:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2373:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2383:7:2", + "type": "" + } + ], + "src": "2346:126:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2523:32:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2533:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2544:5:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2533:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2505:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2515:7:2", + "type": "" + } + ], + "src": "2478:77:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2604:79:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2661:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2670:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2673:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2663:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2663:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2663:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2627:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2652:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "2634:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "2634:24:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2624:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "2624:35:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2617:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2617:43:2" + }, + "nodeType": "YulIf", + "src": "2614:2:2" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2597:5:2", + "type": "" + } + ], + "src": "2561:122:2" + } + ] + }, + "contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_stringliteral_58fde6045db4d34cb36b7e4ff163b5d3a73568c3d4fc8b57f06ee462d8a919a9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n\n mstore(add(pos, 0), \"Identity callback must be invoke\")\n\n mstore(add(pos, 32), \"d by identity\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_stringliteral_58fde6045db4d34cb36b7e4ff163b5d3a73568c3d4fc8b57f06ee462d8a919a9__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_58fde6045db4d34cb36b7e4ff163b5d3a73568c3d4fc8b57f06ee462d8a919a9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 2, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "25:1518:0:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "25:1518:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;602:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;968:180;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1152:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;781:183;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1346:195;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;602:175;688:10;700:8;517;507:18;;:6;:18;;;492:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;723:49:::1;739:8;749:5;756:15;723:49;;;;;;;;:::i;:::-;;;;;;;;602:175:::0;;;;:::o;968:180::-;1055:10;1067:8;517;507:18;;:6;:18;;;492:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;1090:53:::1;1110:8;1120:5;1127:15;1090:53;;;;;;;;:::i;:::-;;;;;;;;968:180:::0;;;;:::o;1152:190::-;1243:10;1255:8;517;507:18;;:6;:18;;;492:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;1278:59:::1;1300:8;1310:9;1321:15;1278:59;;;;;;;;:::i;:::-;;;;;;;;1152:190:::0;;;;:::o;781:183::-;871:10;883:8;517;507:18;;:6;:18;;;492:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;906:53:::1;922:8;932:9;943:15;906:53;;;;;;;;:::i;:::-;;;;;;;;781:183:::0;;;;:::o;1346:195::-;1442:10;1454:8;517;507:18;;:6;:18;;;492:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;1477:59:::1;1499:8;1509:9;1520:15;1477:59;;;;;;;;:::i;:::-;;;;;;;;1346:195:::0;;;;:::o;7:139:2:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:407::-;;;277:2;265:9;256:7;252:23;248:32;245:2;;;293:1;290;283:12;245:2;336:1;361:53;406:7;397:6;386:9;382:22;361:53;:::i;:::-;351:63;;307:117;463:2;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;434:118;235:324;;;;;:::o;565:118::-;652:24;670:5;652:24;:::i;:::-;647:3;640:37;630:53;;:::o;689:377::-;;852:67;916:2;911:3;852:67;:::i;:::-;845:74;;949:34;945:1;940:3;936:11;929:55;1015:15;1010:2;1005:3;1001:12;994:37;1057:2;1052:3;1048:12;1041:19;;835:231;;;:::o;1072:118::-;1159:24;1177:5;1159:24;:::i;:::-;1154:3;1147:37;1137:53;;:::o;1196:442::-;;1383:2;1372:9;1368:18;1360:26;;1396:71;1464:1;1453:9;1449:17;1440:6;1396:71;:::i;:::-;1477:72;1545:2;1534:9;1530:18;1521:6;1477:72;:::i;:::-;1559;1627:2;1616:9;1612:18;1603:6;1559:72;:::i;:::-;1350:288;;;;;;:::o;1644:419::-;;1848:2;1837:9;1833:18;1825:26;;1897:9;1891:4;1887:20;1883:1;1872:9;1868:17;1861:47;1925:131;2051:4;1925:131;:::i;:::-;1917:139;;1815:248;;;:::o;2069:169::-;;2187:6;2182:3;2175:19;2227:4;2222:3;2218:14;2203:29;;2165:73;;;;:::o;2244:96::-;;2310:24;2328:5;2310:24;:::i;:::-;2299:35;;2289:51;;;:::o;2346:126::-;;2423:42;2416:5;2412:54;2401:65;;2391:81;;;:::o;2478:77::-;;2544:5;2533:16;;2523:32;;;:::o;2561:122::-;2634:24;2652:5;2634:24;:::i;:::-;2627:5;2624:35;2614:2;;2673:1;2670;2663:12;2614:2;2604:79;:::o", + "source": "pragma solidity 0.8.0;\n\n\ncontract IdentityManager {\n event IdentityCreated(address identity, address owner, uint256 at);\n event IdentityOffered(address identity, address offeredTo, uint256 at);\n event IdentityTransferred(address identity, address owner, uint256 at);\n event IdentityOfferRejected(address identity, address offeredTo, uint256 at);\n event IdentityOfferCanceled(address identity, address oferedto, uint256 at);\n\n modifier isIdentity(address sender, address identity) {\n require(\n sender == identity,\n \"Identity callback must be invoked by identity\"\n );\n _;\n }\n\n function identityCreated(address identity, address owner)\n external\n isIdentity(msg.sender, identity)\n {\n emit IdentityCreated(identity, owner, block.timestamp);\n }\n\n function identityOffered(address identity, address offeredTo)\n external\n isIdentity(msg.sender, identity)\n {\n emit IdentityOffered(identity, offeredTo, block.timestamp);\n }\n\n function identityAccepted(address identity, address owner)\n external\n isIdentity(msg.sender, identity)\n {\n emit IdentityTransferred(identity, owner, block.timestamp);\n }\n\n function identityRejected(address identity, address offeredTo)\n external\n isIdentity(msg.sender, identity)\n {\n emit IdentityOfferRejected(identity, offeredTo, block.timestamp);\n }\n\n function identityOfferCanceled(address identity, address offeredTo)\n external\n isIdentity(msg.sender, identity)\n {\n emit IdentityOfferCanceled(identity, offeredTo, block.timestamp);\n }\n}\n", + "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/IdentityManager.sol", + "ast": { + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/IdentityManager.sol", + "exportedSymbols": { + "IdentityManager": [ + 157 + ] + }, + "id": 158, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:22:0" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 157, + "linearizedBaseContracts": [ + 157 + ], + "name": "IdentityManager", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "id": 9, + "name": "IdentityCreated", + "nodeType": "EventDefinition", + "parameters": { + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3, + "indexed": false, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "76:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "76:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "94:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "94:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "109:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "109:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "75:45:0" + }, + "src": "54:67:0" + }, + { + "anonymous": false, + "id": 17, + "name": "IdentityOffered", + "nodeType": "EventDefinition", + "parameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11, + "indexed": false, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "146:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "146:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13, + "indexed": false, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "164:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "164:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15, + "indexed": false, + "mutability": "mutable", + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "183:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "183:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "145:49:0" + }, + "src": "124:71:0" + }, + { + "anonymous": false, + "id": 25, + "name": "IdentityTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19, + "indexed": false, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "224:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "224:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "242:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "242:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23, + "indexed": false, + "mutability": "mutable", + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "257:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "257:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "223:45:0" + }, + "src": "198:71:0" + }, + { + "anonymous": false, + "id": 33, + "name": "IdentityOfferRejected", + "nodeType": "EventDefinition", + "parameters": { + "id": 32, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27, + "indexed": false, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "300:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "300:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29, + "indexed": false, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "318:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "318:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31, + "indexed": false, + "mutability": "mutable", + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "337:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "337:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "299:49:0" + }, + "src": "272:77:0" + }, + { + "anonymous": false, + "id": 41, + "name": "IdentityOfferCanceled", + "nodeType": "EventDefinition", + "parameters": { + "id": 40, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35, + "indexed": false, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "380:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "380:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 37, + "indexed": false, + "mutability": "mutable", + "name": "oferedto", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "398:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "398:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 39, + "indexed": false, + "mutability": "mutable", + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "416:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 38, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "416:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "379:48:0" + }, + "src": "352:76:0" + }, + { + "body": { + "id": 55, + "nodeType": "Block", + "src": "486:112:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 48, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "507:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 49, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "517:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "507:18:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4964656e746974792063616c6c6261636b206d75737420626520696e766f6b6564206279206964656e74697479", + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "533:47:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_58fde6045db4d34cb36b7e4ff163b5d3a73568c3d4fc8b57f06ee462d8a919a9", + "typeString": "literal_string \"Identity callback must be invoked by identity\"" + }, + "value": "Identity callback must be invoked by identity" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_58fde6045db4d34cb36b7e4ff163b5d3a73568c3d4fc8b57f06ee462d8a919a9", + "typeString": "literal_string \"Identity callback must be invoked by identity\"" + } + ], + "id": 47, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "492:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "492:94:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 53, + "nodeType": "ExpressionStatement", + "src": "492:94:0" + }, + { + "id": 54, + "nodeType": "PlaceholderStatement", + "src": "592:1:0" + } + ] + }, + "id": 56, + "name": "isIdentity", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 46, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43, + "mutability": "mutable", + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "452:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 42, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "452:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 45, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "468:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "468:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "451:34:0" + }, + "src": "432:166:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 75, + "nodeType": "Block", + "src": "712:65:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 69, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 58, + "src": "739:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "749:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 71, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "756:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "756:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 68, + "name": "IdentityCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "723:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "723:49:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "EmitStatement", + "src": "718:54:0" + } + ] + }, + "functionSelector": "396eee9d", + "id": 76, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 63, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "688:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 64, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "688:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 65, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 58, + "src": "700:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 66, + "modifierName": { + "id": 62, + "name": "isIdentity", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "677:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "677:32:0" + } + ], + "name": "identityCreated", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 61, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 58, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 76, + "src": "627:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 57, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "627:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 60, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 76, + "src": "645:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 59, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "645:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "626:33:0" + }, + "returnParameters": { + "id": 67, + "nodeType": "ParameterList", + "parameters": [], + "src": "712:0:0" + }, + "scope": 157, + "src": "602:175:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 95, + "nodeType": "Block", + "src": "895:69:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 89, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "922:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 90, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 80, + "src": "932:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 91, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "943:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 92, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "943:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 88, + "name": "IdentityOffered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17, + "src": "906:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "906:53:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 94, + "nodeType": "EmitStatement", + "src": "901:58:0" + } + ] + }, + "functionSelector": "e3db3394", + "id": 96, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 83, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "871:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "871:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 85, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "883:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 86, + "modifierName": { + "id": 82, + "name": "isIdentity", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "860:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "860:32:0" + } + ], + "name": "identityOffered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 81, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 78, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 96, + "src": "806:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 77, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "806:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 80, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 96, + "src": "824:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "824:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "805:37:0" + }, + "returnParameters": { + "id": 87, + "nodeType": "ParameterList", + "parameters": [], + "src": "895:0:0" + }, + "scope": 157, + "src": "781:183:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 115, + "nodeType": "Block", + "src": "1079:69:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 109, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 98, + "src": "1110:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 110, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100, + "src": "1120:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 111, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "1127:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1127:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 108, + "name": "IdentityTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1090:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1090:53:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 114, + "nodeType": "EmitStatement", + "src": "1085:58:0" + } + ] + }, + "functionSelector": "70b29f95", + "id": 116, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 103, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1055:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1055:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 105, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 98, + "src": "1067:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 106, + "modifierName": { + "id": 102, + "name": "isIdentity", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "1044:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "1044:32:0" + } + ], + "name": "identityAccepted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 98, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 116, + "src": "994:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 97, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "994:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 100, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 116, + "src": "1012:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 99, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1012:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "993:33:0" + }, + "returnParameters": { + "id": 107, + "nodeType": "ParameterList", + "parameters": [], + "src": "1079:0:0" + }, + "scope": 157, + "src": "968:180:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 135, + "nodeType": "Block", + "src": "1267:75:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 129, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118, + "src": "1300:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 130, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120, + "src": "1310:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 131, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "1321:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1321:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 128, + "name": "IdentityOfferRejected", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "1278:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1278:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 134, + "nodeType": "EmitStatement", + "src": "1273:64:0" + } + ] + }, + "functionSelector": "b02c6dc2", + "id": 136, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1243:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1243:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 125, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118, + "src": "1255:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 126, + "modifierName": { + "id": 122, + "name": "isIdentity", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "1232:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "1232:32:0" + } + ], + "name": "identityRejected", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 118, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 136, + "src": "1178:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1178:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 136, + "src": "1196:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 119, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1196:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1177:37:0" + }, + "returnParameters": { + "id": 127, + "nodeType": "ParameterList", + "parameters": [], + "src": "1267:0:0" + }, + "scope": 157, + "src": "1152:190:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 155, + "nodeType": "Block", + "src": "1466:75:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 149, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "1499:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 150, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1509:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 151, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "1520:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1520:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 148, + "name": "IdentityOfferCanceled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41, + "src": "1477:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1477:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 154, + "nodeType": "EmitStatement", + "src": "1472:64:0" + } + ] + }, + "functionSelector": "f94a113c", + "id": 156, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 143, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1442:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1442:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 145, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "1454:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 146, + "modifierName": { + "id": 142, + "name": "isIdentity", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "1431:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "1431:32:0" + } + ], + "name": "identityOfferCanceled", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 138, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 156, + "src": "1377:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 137, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1377:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 140, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 156, + "src": "1395:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 139, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1395:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1376:37:0" + }, + "returnParameters": { + "id": 147, + "nodeType": "ParameterList", + "parameters": [], + "src": "1466:0:0" + }, + "scope": 157, + "src": "1346:195:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 158, + "src": "25:1518:0" + } + ], + "src": "0:1544:0" + }, + "legacyAST": { + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/IdentityManager.sol", + "exportedSymbols": { + "IdentityManager": [ + 157 + ] + }, + "id": 158, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:22:0" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 157, + "linearizedBaseContracts": [ + 157 + ], + "name": "IdentityManager", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "id": 9, + "name": "IdentityCreated", + "nodeType": "EventDefinition", + "parameters": { + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3, + "indexed": false, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "76:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "76:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "94:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "94:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "109:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "109:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "75:45:0" + }, + "src": "54:67:0" + }, + { + "anonymous": false, + "id": 17, + "name": "IdentityOffered", + "nodeType": "EventDefinition", + "parameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11, + "indexed": false, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "146:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "146:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13, + "indexed": false, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "164:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "164:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15, + "indexed": false, + "mutability": "mutable", + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "183:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "183:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "145:49:0" + }, + "src": "124:71:0" + }, + { + "anonymous": false, + "id": 25, + "name": "IdentityTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19, + "indexed": false, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "224:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "224:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "242:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "242:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23, + "indexed": false, + "mutability": "mutable", + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "257:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "257:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "223:45:0" + }, + "src": "198:71:0" + }, + { + "anonymous": false, + "id": 33, + "name": "IdentityOfferRejected", + "nodeType": "EventDefinition", + "parameters": { + "id": 32, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27, + "indexed": false, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "300:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "300:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29, + "indexed": false, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "318:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "318:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31, + "indexed": false, + "mutability": "mutable", + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "337:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "337:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "299:49:0" + }, + "src": "272:77:0" + }, + { + "anonymous": false, + "id": 41, + "name": "IdentityOfferCanceled", + "nodeType": "EventDefinition", + "parameters": { + "id": 40, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35, + "indexed": false, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "380:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "380:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 37, + "indexed": false, + "mutability": "mutable", + "name": "oferedto", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "398:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "398:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 39, + "indexed": false, + "mutability": "mutable", + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "416:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 38, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "416:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "379:48:0" + }, + "src": "352:76:0" + }, + { + "body": { + "id": 55, + "nodeType": "Block", + "src": "486:112:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 48, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "507:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 49, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "517:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "507:18:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4964656e746974792063616c6c6261636b206d75737420626520696e766f6b6564206279206964656e74697479", + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "533:47:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_58fde6045db4d34cb36b7e4ff163b5d3a73568c3d4fc8b57f06ee462d8a919a9", + "typeString": "literal_string \"Identity callback must be invoked by identity\"" + }, + "value": "Identity callback must be invoked by identity" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_58fde6045db4d34cb36b7e4ff163b5d3a73568c3d4fc8b57f06ee462d8a919a9", + "typeString": "literal_string \"Identity callback must be invoked by identity\"" + } + ], + "id": 47, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "492:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "492:94:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 53, + "nodeType": "ExpressionStatement", + "src": "492:94:0" + }, + { + "id": 54, + "nodeType": "PlaceholderStatement", + "src": "592:1:0" + } + ] + }, + "id": 56, + "name": "isIdentity", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 46, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43, + "mutability": "mutable", + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "452:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 42, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "452:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 45, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "468:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 44, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "468:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "451:34:0" + }, + "src": "432:166:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 75, + "nodeType": "Block", + "src": "712:65:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 69, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 58, + "src": "739:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 70, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 60, + "src": "749:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 71, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "756:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "756:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 68, + "name": "IdentityCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "723:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "723:49:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 74, + "nodeType": "EmitStatement", + "src": "718:54:0" + } + ] + }, + "functionSelector": "396eee9d", + "id": 76, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 63, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "688:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 64, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "688:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 65, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 58, + "src": "700:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 66, + "modifierName": { + "id": 62, + "name": "isIdentity", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "677:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "677:32:0" + } + ], + "name": "identityCreated", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 61, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 58, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 76, + "src": "627:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 57, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "627:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 60, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 76, + "src": "645:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 59, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "645:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "626:33:0" + }, + "returnParameters": { + "id": 67, + "nodeType": "ParameterList", + "parameters": [], + "src": "712:0:0" + }, + "scope": 157, + "src": "602:175:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 95, + "nodeType": "Block", + "src": "895:69:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 89, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "922:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 90, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 80, + "src": "932:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 91, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "943:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 92, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "943:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 88, + "name": "IdentityOffered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17, + "src": "906:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "906:53:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 94, + "nodeType": "EmitStatement", + "src": "901:58:0" + } + ] + }, + "functionSelector": "e3db3394", + "id": 96, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 83, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "871:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "871:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 85, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "883:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 86, + "modifierName": { + "id": 82, + "name": "isIdentity", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "860:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "860:32:0" + } + ], + "name": "identityOffered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 81, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 78, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 96, + "src": "806:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 77, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "806:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 80, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 96, + "src": "824:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "824:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "805:37:0" + }, + "returnParameters": { + "id": 87, + "nodeType": "ParameterList", + "parameters": [], + "src": "895:0:0" + }, + "scope": 157, + "src": "781:183:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 115, + "nodeType": "Block", + "src": "1079:69:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 109, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 98, + "src": "1110:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 110, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100, + "src": "1120:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 111, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "1127:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1127:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 108, + "name": "IdentityTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1090:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1090:53:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 114, + "nodeType": "EmitStatement", + "src": "1085:58:0" + } + ] + }, + "functionSelector": "70b29f95", + "id": 116, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 103, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1055:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1055:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 105, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 98, + "src": "1067:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 106, + "modifierName": { + "id": 102, + "name": "isIdentity", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "1044:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "1044:32:0" + } + ], + "name": "identityAccepted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 98, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 116, + "src": "994:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 97, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "994:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 100, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 116, + "src": "1012:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 99, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1012:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "993:33:0" + }, + "returnParameters": { + "id": 107, + "nodeType": "ParameterList", + "parameters": [], + "src": "1079:0:0" + }, + "scope": 157, + "src": "968:180:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 135, + "nodeType": "Block", + "src": "1267:75:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 129, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118, + "src": "1300:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 130, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120, + "src": "1310:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 131, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "1321:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1321:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 128, + "name": "IdentityOfferRejected", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "1278:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1278:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 134, + "nodeType": "EmitStatement", + "src": "1273:64:0" + } + ] + }, + "functionSelector": "b02c6dc2", + "id": 136, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 123, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1243:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1243:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 125, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118, + "src": "1255:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 126, + "modifierName": { + "id": 122, + "name": "isIdentity", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "1232:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "1232:32:0" + } + ], + "name": "identityRejected", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 118, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 136, + "src": "1178:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1178:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 136, + "src": "1196:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 119, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1196:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1177:37:0" + }, + "returnParameters": { + "id": 127, + "nodeType": "ParameterList", + "parameters": [], + "src": "1267:0:0" + }, + "scope": 157, + "src": "1152:190:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 155, + "nodeType": "Block", + "src": "1466:75:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 149, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "1499:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 150, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1509:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 151, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "1520:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1520:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 148, + "name": "IdentityOfferCanceled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41, + "src": "1477:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1477:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 154, + "nodeType": "EmitStatement", + "src": "1472:64:0" + } + ] + }, + "functionSelector": "f94a113c", + "id": 156, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 143, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1442:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1442:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 145, + "name": "identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "1454:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 146, + "modifierName": { + "id": 142, + "name": "isIdentity", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "1431:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "1431:32:0" + } + ], + "name": "identityOfferCanceled", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 138, + "mutability": "mutable", + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 156, + "src": "1377:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 137, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1377:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 140, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 156, + "src": "1395:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 139, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1395:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1376:37:0" + }, + "returnParameters": { + "id": 147, + "nodeType": "ParameterList", + "parameters": [], + "src": "1466:0:0" + }, + "scope": 157, + "src": "1346:195:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 158, + "src": "25:1518:0" + } + ], + "src": "0:1544:0" + }, + "compiler": { + "name": "solc", + "version": "0.8.0+commit.c7dfd78e.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.3.4", + "updatedAt": "2021-03-19T12:53:10.568Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/MinterRole.json b/packages/proxyIdentity/build/contracts/MinterRole.json deleted file mode 100644 index 6945bf37..00000000 --- a/packages/proxyIdentity/build/contracts/MinterRole.json +++ /dev/null @@ -1,2618 +0,0 @@ -{ - "contractName": "MinterRole", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterRemoved", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isMinter", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/roles/MinterRole.sol\":\"MinterRole\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]},\"@openzeppelin/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzz-raw://badf338a5e22c8658c01fe2ce89b487d9dbf6d2d9d5eb49df7415383e2498765\",\"dweb:/ipfs/QmP5aMkvFwMJyuQjKE8ADh5tkWYqonb4KjgkAjgYEVVFAv\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\nimport \"../../GSN/Context.sol\";\nimport \"../Roles.sol\";\n\ncontract MinterRole is Context {\n using Roles for Roles.Role;\n\n event MinterAdded(address indexed account);\n event MinterRemoved(address indexed account);\n\n Roles.Role private _minters;\n\n constructor () internal {\n _addMinter(_msgSender());\n }\n\n modifier onlyMinter() {\n require(isMinter(_msgSender()), \"MinterRole: caller does not have the Minter role\");\n _;\n }\n\n function isMinter(address account) public view returns (bool) {\n return _minters.has(account);\n }\n\n function addMinter(address account) public onlyMinter {\n _addMinter(account);\n }\n\n function renounceMinter() public {\n _removeMinter(_msgSender());\n }\n\n function _addMinter(address account) internal {\n _minters.add(account);\n emit MinterAdded(account);\n }\n\n function _removeMinter(address account) internal {\n _minters.remove(account);\n emit MinterRemoved(account);\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", - "exportedSymbols": { - "MinterRole": [ - 2126 - ] - }, - "id": 2127, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2021, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:10" - }, - { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "file": "../../GSN/Context.sol", - "id": 2022, - "nodeType": "ImportDirective", - "scope": 2127, - "sourceUnit": 1939, - "src": "25:31:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/Roles.sol", - "file": "../Roles.sol", - "id": 2023, - "nodeType": "ImportDirective", - "scope": 2127, - "sourceUnit": 2020, - "src": "57:22:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2024, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1938, - "src": "104:7:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 2025, - "nodeType": "InheritanceSpecifier", - "src": "104:7:10" - } - ], - "contractDependencies": [ - 1938 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2126, - "linearizedBaseContracts": [ - 2126, - 1938 - ], - "name": "MinterRole", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2028, - "libraryName": { - "contractScope": null, - "id": 2026, - "name": "Roles", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2019, - "src": "124:5:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$2019", - "typeString": "library Roles" - } - }, - "nodeType": "UsingForDirective", - "src": "118:27:10", - "typeName": { - "contractScope": null, - "id": 2027, - "name": "Roles.Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "134:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 2032, - "name": "MinterAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 2031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2030, - "indexed": true, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "169:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2029, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "169:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "168:25:10" - }, - "src": "151:43:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 2036, - "name": "MinterRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 2035, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2034, - "indexed": true, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2036, - "src": "219:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2033, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "219:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "218:25:10" - }, - "src": "199:45:10" - }, - { - "constant": false, - "id": 2038, - "name": "_minters", - "nodeType": "VariableDeclaration", - "scope": 2126, - "src": "250:27:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 2037, - "name": "Roles.Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "250:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 2046, - "nodeType": "Block", - "src": "308:41:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2042, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "329:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "329:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2041, - "name": "_addMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2109, - "src": "318:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "318:24:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2045, - "nodeType": "ExpressionStatement", - "src": "318:24:10" - } - ] - }, - "documentation": null, - "id": 2047, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2039, - "nodeType": "ParameterList", - "parameters": [], - "src": "296:2:10" - }, - "returnParameters": { - "id": 2040, - "nodeType": "ParameterList", - "parameters": [], - "src": "308:0:10" - }, - "scope": 2126, - "src": "284:65:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2058, - "nodeType": "Block", - "src": "377:111:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2051, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "404:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "404:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2050, - "name": "isMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "395:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "395:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65", - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "419:50:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79ecb50133735b20228dea9d08fe36a462bbc1350f591a146908848db91104cd", - "typeString": "literal_string \"MinterRole: caller does not have the Minter role\"" - }, - "value": "MinterRole: caller does not have the Minter role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_79ecb50133735b20228dea9d08fe36a462bbc1350f591a146908848db91104cd", - "typeString": "literal_string \"MinterRole: caller does not have the Minter role\"" - } - ], - "id": 2049, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "387:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "387:83:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2056, - "nodeType": "ExpressionStatement", - "src": "387:83:10" - }, - { - "id": 2057, - "nodeType": "PlaceholderStatement", - "src": "480:1:10" - } - ] - }, - "documentation": null, - "id": 2059, - "name": "onlyMinter", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2048, - "nodeType": "ParameterList", - "parameters": [], - "src": "374:2:10" - }, - "src": "355:133:10", - "visibility": "internal" - }, - { - "body": { - "id": 2071, - "nodeType": "Block", - "src": "556:45:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2068, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "586:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2066, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "573:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2067, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "has", - "nodeType": "MemberAccess", - "referencedDeclaration": 2018, - "src": "573:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 2069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "573:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2065, - "id": 2070, - "nodeType": "Return", - "src": "566:28:10" - } - ] - }, - "documentation": null, - "id": 2072, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2061, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "512:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2060, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "512:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "511:17:10" - }, - "returnParameters": { - "id": 2065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2064, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "550:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2063, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "550:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "549:6:10" - }, - "scope": 2126, - "src": "494:107:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2083, - "nodeType": "Block", - "src": "661:36:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2080, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2074, - "src": "682:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2079, - "name": "_addMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2109, - "src": "671:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "671:19:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2082, - "nodeType": "ExpressionStatement", - "src": "671:19:10" - } - ] - }, - "documentation": null, - "id": 2084, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2077, - "modifierName": { - "argumentTypes": null, - "id": 2076, - "name": "onlyMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "650:10:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "650:10:10" - } - ], - "name": "addMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2074, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "626:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "626:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "625:17:10" - }, - "returnParameters": { - "id": 2078, - "nodeType": "ParameterList", - "parameters": [], - "src": "661:0:10" - }, - "scope": 2126, - "src": "607:90:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2092, - "nodeType": "Block", - "src": "736:44:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2088, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "760:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "760:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2087, - "name": "_removeMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2125, - "src": "746:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "746:27:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2091, - "nodeType": "ExpressionStatement", - "src": "746:27:10" - } - ] - }, - "documentation": null, - "id": 2093, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "renounceMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2085, - "nodeType": "ParameterList", - "parameters": [], - "src": "726:2:10" - }, - "returnParameters": { - "id": 2086, - "nodeType": "ParameterList", - "parameters": [], - "src": "736:0:10" - }, - "scope": 2126, - "src": "703:77:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2108, - "nodeType": "Block", - "src": "832:73:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2101, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "855:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2098, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "842:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 1970, - "src": "842:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address)" - } - }, - "id": 2102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "842:21:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2103, - "nodeType": "ExpressionStatement", - "src": "842:21:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2105, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "890:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2104, - "name": "MinterAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2032, - "src": "878:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "878:20:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2107, - "nodeType": "EmitStatement", - "src": "873:25:10" - } - ] - }, - "documentation": null, - "id": 2109, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2096, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2095, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2109, - "src": "806:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "806:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "805:17:10" - }, - "returnParameters": { - "id": 2097, - "nodeType": "ParameterList", - "parameters": [], - "src": "832:0:10" - }, - "scope": 2126, - "src": "786:119:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2124, - "nodeType": "Block", - "src": "960:78:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2117, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2111, - "src": "986:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2114, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "970:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 1994, - "src": "970:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address)" - } - }, - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "970:24:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2119, - "nodeType": "ExpressionStatement", - "src": "970:24:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2121, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2111, - "src": "1023:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2120, - "name": "MinterRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2036, - "src": "1009:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1009:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2123, - "nodeType": "EmitStatement", - "src": "1004:27:10" - } - ] - }, - "documentation": null, - "id": 2125, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2112, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2111, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "934:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2110, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "934:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "933:17:10" - }, - "returnParameters": { - "id": 2113, - "nodeType": "ParameterList", - "parameters": [], - "src": "960:0:10" - }, - "scope": 2126, - "src": "911:127:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2127, - "src": "81:959:10" - } - ], - "src": "0:1041:10" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", - "exportedSymbols": { - "MinterRole": [ - 2126 - ] - }, - "id": 2127, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2021, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:10" - }, - { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "file": "../../GSN/Context.sol", - "id": 2022, - "nodeType": "ImportDirective", - "scope": 2127, - "sourceUnit": 1939, - "src": "25:31:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/Roles.sol", - "file": "../Roles.sol", - "id": 2023, - "nodeType": "ImportDirective", - "scope": 2127, - "sourceUnit": 2020, - "src": "57:22:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2024, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1938, - "src": "104:7:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 2025, - "nodeType": "InheritanceSpecifier", - "src": "104:7:10" - } - ], - "contractDependencies": [ - 1938 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2126, - "linearizedBaseContracts": [ - 2126, - 1938 - ], - "name": "MinterRole", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2028, - "libraryName": { - "contractScope": null, - "id": 2026, - "name": "Roles", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2019, - "src": "124:5:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$2019", - "typeString": "library Roles" - } - }, - "nodeType": "UsingForDirective", - "src": "118:27:10", - "typeName": { - "contractScope": null, - "id": 2027, - "name": "Roles.Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "134:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 2032, - "name": "MinterAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 2031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2030, - "indexed": true, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "169:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2029, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "169:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "168:25:10" - }, - "src": "151:43:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 2036, - "name": "MinterRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 2035, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2034, - "indexed": true, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2036, - "src": "219:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2033, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "219:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "218:25:10" - }, - "src": "199:45:10" - }, - { - "constant": false, - "id": 2038, - "name": "_minters", - "nodeType": "VariableDeclaration", - "scope": 2126, - "src": "250:27:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 2037, - "name": "Roles.Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "250:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 2046, - "nodeType": "Block", - "src": "308:41:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2042, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "329:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "329:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2041, - "name": "_addMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2109, - "src": "318:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "318:24:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2045, - "nodeType": "ExpressionStatement", - "src": "318:24:10" - } - ] - }, - "documentation": null, - "id": 2047, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2039, - "nodeType": "ParameterList", - "parameters": [], - "src": "296:2:10" - }, - "returnParameters": { - "id": 2040, - "nodeType": "ParameterList", - "parameters": [], - "src": "308:0:10" - }, - "scope": 2126, - "src": "284:65:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2058, - "nodeType": "Block", - "src": "377:111:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2051, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "404:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "404:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2050, - "name": "isMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "395:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "395:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65", - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "419:50:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79ecb50133735b20228dea9d08fe36a462bbc1350f591a146908848db91104cd", - "typeString": "literal_string \"MinterRole: caller does not have the Minter role\"" - }, - "value": "MinterRole: caller does not have the Minter role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_79ecb50133735b20228dea9d08fe36a462bbc1350f591a146908848db91104cd", - "typeString": "literal_string \"MinterRole: caller does not have the Minter role\"" - } - ], - "id": 2049, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "387:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "387:83:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2056, - "nodeType": "ExpressionStatement", - "src": "387:83:10" - }, - { - "id": 2057, - "nodeType": "PlaceholderStatement", - "src": "480:1:10" - } - ] - }, - "documentation": null, - "id": 2059, - "name": "onlyMinter", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2048, - "nodeType": "ParameterList", - "parameters": [], - "src": "374:2:10" - }, - "src": "355:133:10", - "visibility": "internal" - }, - { - "body": { - "id": 2071, - "nodeType": "Block", - "src": "556:45:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2068, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "586:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2066, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "573:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2067, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "has", - "nodeType": "MemberAccess", - "referencedDeclaration": 2018, - "src": "573:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 2069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "573:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2065, - "id": 2070, - "nodeType": "Return", - "src": "566:28:10" - } - ] - }, - "documentation": null, - "id": 2072, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2061, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "512:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2060, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "512:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "511:17:10" - }, - "returnParameters": { - "id": 2065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2064, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "550:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2063, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "550:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "549:6:10" - }, - "scope": 2126, - "src": "494:107:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2083, - "nodeType": "Block", - "src": "661:36:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2080, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2074, - "src": "682:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2079, - "name": "_addMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2109, - "src": "671:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "671:19:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2082, - "nodeType": "ExpressionStatement", - "src": "671:19:10" - } - ] - }, - "documentation": null, - "id": 2084, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2077, - "modifierName": { - "argumentTypes": null, - "id": 2076, - "name": "onlyMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "650:10:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "650:10:10" - } - ], - "name": "addMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2074, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "626:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "626:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "625:17:10" - }, - "returnParameters": { - "id": 2078, - "nodeType": "ParameterList", - "parameters": [], - "src": "661:0:10" - }, - "scope": 2126, - "src": "607:90:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2092, - "nodeType": "Block", - "src": "736:44:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2088, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "760:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "760:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2087, - "name": "_removeMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2125, - "src": "746:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "746:27:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2091, - "nodeType": "ExpressionStatement", - "src": "746:27:10" - } - ] - }, - "documentation": null, - "id": 2093, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "renounceMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2085, - "nodeType": "ParameterList", - "parameters": [], - "src": "726:2:10" - }, - "returnParameters": { - "id": 2086, - "nodeType": "ParameterList", - "parameters": [], - "src": "736:0:10" - }, - "scope": 2126, - "src": "703:77:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2108, - "nodeType": "Block", - "src": "832:73:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2101, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "855:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2098, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "842:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 1970, - "src": "842:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address)" - } - }, - "id": 2102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "842:21:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2103, - "nodeType": "ExpressionStatement", - "src": "842:21:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2105, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "890:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2104, - "name": "MinterAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2032, - "src": "878:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "878:20:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2107, - "nodeType": "EmitStatement", - "src": "873:25:10" - } - ] - }, - "documentation": null, - "id": 2109, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2096, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2095, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2109, - "src": "806:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "806:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "805:17:10" - }, - "returnParameters": { - "id": 2097, - "nodeType": "ParameterList", - "parameters": [], - "src": "832:0:10" - }, - "scope": 2126, - "src": "786:119:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2124, - "nodeType": "Block", - "src": "960:78:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2117, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2111, - "src": "986:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2114, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "970:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 1994, - "src": "970:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address)" - } - }, - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "970:24:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2119, - "nodeType": "ExpressionStatement", - "src": "970:24:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2121, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2111, - "src": "1023:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2120, - "name": "MinterRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2036, - "src": "1009:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1009:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2123, - "nodeType": "EmitStatement", - "src": "1004:27:10" - } - ] - }, - "documentation": null, - "id": 2125, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2112, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2111, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "934:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2110, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "934:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "933:17:10" - }, - "returnParameters": { - "id": 2113, - "nodeType": "ParameterList", - "parameters": [], - "src": "960:0:10" - }, - "scope": 2126, - "src": "911:127:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2127, - "src": "81:959:10" - } - ], - "src": "0:1041:10" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.605Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/OfferableIdentity.json b/packages/proxyIdentity/build/contracts/OfferableIdentity.json new file mode 100644 index 00000000..7b0f436a --- /dev/null +++ b/packages/proxyIdentity/build/contracts/OfferableIdentity.json @@ -0,0 +1,11000 @@ +{ + "contractName": "OfferableIdentity", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_manager", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransactionSent", + "type": "event" + }, + { + "inputs": [], + "name": "offeredTo", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_offeredTo", + "type": "address" + } + ], + "name": "offer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "acceptOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rejectOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "cancelOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "sendTransaction", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransactionSent\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_offeredTo\",\"type\":\"address\"}],\"name\":\"offer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offeredTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rejectOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"sendTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol\":\"OfferableIdentity\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/IdentityManager.sol\":{\"keccak256\":\"0xdb2e46f2eea17dc83889e50a2a51fab1fccb767959b1794bb03f63a1484e12ea\",\"urls\":[\"bzz-raw://e724e6133641a7db837d2eac7d7104d43af677af4aabb484e1dffe6df556e14c\",\"dweb:/ipfs/QmdeQr75RixxeVDRWDVnWpjbw6RPmApr8gdQt2zKyLZnua\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol\":{\"keccak256\":\"0xc40a0be3add32d99c925cb91938573c115e51de41facaf01a3e54f398fe6c9f9\",\"urls\":[\"bzz-raw://9c00f9cb96ce0fc9882bee4c04bd790d198a2d85c3900a8bfc86402386ee30cf\",\"dweb:/ipfs/QmbHvG5j8cKJsAGbscrBto9YFfx2i4hwwTPtrmcEdDTCch\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b50604051620010f4380380620010f483398181016040528101906200003791906200018a565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663396eee9d3060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040162000137929190620001dc565b600060405180830381600087803b1580156200015257600080fd5b505af115801562000167573d6000803e3d6000fd5b50505050505062000257565b60008151905062000184816200023d565b92915050565b600080604083850312156200019e57600080fd5b6000620001ae8582860162000173565b9250506020620001c18582860162000173565b9150509250929050565b620001d68162000209565b82525050565b6000604082019050620001f36000830185620001cb565b620002026020830184620001cb565b9392505050565b600062000216826200021d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620002488162000209565b81146200025457600080fd5b50565b610e8d80620002676000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063bbc018571161005b578063bbc01857146100c8578063ce2d4aca146100f8578063eb62df6114610114578063efd998ad1461011e5761007d565b806362d05c78146100825780638da5cb5b1461008c578063918af2cf146100aa575b600080fd5b61008a610128565b005b610094610271565b6040516100a19190610bd4565b60405180910390f35b6100b2610295565b6040516100bf9190610bd4565b60405180910390f35b6100e260048036038101906100dd9190610a47565b6102bb565b6040516100ef9190610c18565b60405180910390f35b610112600480360381019061010d9190610a1e565b6103a9565b005b61011c61052c565b005b61012661076b565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ad90610cb1565b60405180910390fd5b6101be610948565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f94a113c30600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161023d929190610bef565b600060405180830381600087803b15801561025757600080fd5b505af115801561026b573d6000803e3d6000fd5b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461034c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610cb1565b60405180910390fd5b6000849050600081519050600080826020850187895af192507f7e4155ee9daec547578a255f7495bc08f38796f4d4a3be4ed7189f4fc55cb18586868660405161039893929190610c33565b60405180910390a150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042e90610cb1565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3db339430600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016104f7929190610bef565b600060405180830381600087803b15801561051157600080fd5b505af1158015610525573d6000803e3d6000fd5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b590610c91565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461064e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064590610c71565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370b29f9530600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161072f929190610bef565b600060405180830381600087803b15801561074957600080fd5b505af115801561075d573d6000803e3d6000fd5b50505050610769610948565b565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f490610c91565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461088d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088490610c71565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b02c6dc230600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161090c929190610bef565b600060405180830381600087803b15801561092657600080fd5b505af115801561093a573d6000803e3d6000fd5b50505050610946610948565b565b6000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600061099f61099a84610d02565b610cd1565b9050828152602081018484840111156109b757600080fd5b6109c2848285610da7565b509392505050565b6000813590506109d981610e29565b92915050565b600082601f8301126109f057600080fd5b8135610a0084826020860161098c565b91505092915050565b600081359050610a1881610e40565b92915050565b600060208284031215610a3057600080fd5b6000610a3e848285016109ca565b91505092915050565b600080600060608486031215610a5c57600080fd5b600084013567ffffffffffffffff811115610a7657600080fd5b610a82868287016109df565b9350506020610a93868287016109ca565b9250506040610aa486828701610a09565b9150509250925092565b610ab781610d5f565b82525050565b610ac681610d71565b82525050565b6000610ad782610d32565b610ae18185610d3d565b9350610af1818560208601610db6565b610afa81610e18565b840191505092915050565b6000610b12601e83610d4e565b91507f50726f7879206f66666572656420746f206f74686572206163636f756e7400006000830152602082019050919050565b6000610b52601483610d4e565b91507f50726f7879206973206e6f74206f6666657265640000000000000000000000006000830152602082019050919050565b6000610b92601283610d4e565b91507f4f6e6c79206f776e657220616c6c6f77656400000000000000000000000000006000830152602082019050919050565b610bce81610d9d565b82525050565b6000602082019050610be96000830184610aae565b92915050565b6000604082019050610c046000830185610aae565b610c116020830184610aae565b9392505050565b6000602082019050610c2d6000830184610abd565b92915050565b60006060820190508181036000830152610c4d8186610acc565b9050610c5c6020830185610aae565b610c696040830184610bc5565b949350505050565b60006020820190508181036000830152610c8a81610b05565b9050919050565b60006020820190508181036000830152610caa81610b45565b9050919050565b60006020820190508181036000830152610cca81610b85565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715610cf857610cf7610de9565b5b8060405250919050565b600067ffffffffffffffff821115610d1d57610d1c610de9565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610d6a82610d7d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610dd4578082015181840152602081019050610db9565b83811115610de3576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b610e3281610d5f565b8114610e3d57600080fd5b50565b610e4981610d9d565b8114610e5457600080fd5b5056fea26469706673582212209fae08f0d66e8d88c5cfad83685df807641086d60f313b3fbe56a7b5bb70641e64736f6c63430008000033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063bbc018571161005b578063bbc01857146100c8578063ce2d4aca146100f8578063eb62df6114610114578063efd998ad1461011e5761007d565b806362d05c78146100825780638da5cb5b1461008c578063918af2cf146100aa575b600080fd5b61008a610128565b005b610094610271565b6040516100a19190610bd4565b60405180910390f35b6100b2610295565b6040516100bf9190610bd4565b60405180910390f35b6100e260048036038101906100dd9190610a47565b6102bb565b6040516100ef9190610c18565b60405180910390f35b610112600480360381019061010d9190610a1e565b6103a9565b005b61011c61052c565b005b61012661076b565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ad90610cb1565b60405180910390fd5b6101be610948565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f94a113c30600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161023d929190610bef565b600060405180830381600087803b15801561025757600080fd5b505af115801561026b573d6000803e3d6000fd5b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461034c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610cb1565b60405180910390fd5b6000849050600081519050600080826020850187895af192507f7e4155ee9daec547578a255f7495bc08f38796f4d4a3be4ed7189f4fc55cb18586868660405161039893929190610c33565b60405180910390a150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042e90610cb1565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3db339430600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016104f7929190610bef565b600060405180830381600087803b15801561051157600080fd5b505af1158015610525573d6000803e3d6000fd5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b590610c91565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461064e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064590610c71565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370b29f9530600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161072f929190610bef565b600060405180830381600087803b15801561074957600080fd5b505af115801561075d573d6000803e3d6000fd5b50505050610769610948565b565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f490610c91565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461088d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088490610c71565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b02c6dc230600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161090c929190610bef565b600060405180830381600087803b15801561092657600080fd5b505af115801561093a573d6000803e3d6000fd5b50505050610946610948565b565b6000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600061099f61099a84610d02565b610cd1565b9050828152602081018484840111156109b757600080fd5b6109c2848285610da7565b509392505050565b6000813590506109d981610e29565b92915050565b600082601f8301126109f057600080fd5b8135610a0084826020860161098c565b91505092915050565b600081359050610a1881610e40565b92915050565b600060208284031215610a3057600080fd5b6000610a3e848285016109ca565b91505092915050565b600080600060608486031215610a5c57600080fd5b600084013567ffffffffffffffff811115610a7657600080fd5b610a82868287016109df565b9350506020610a93868287016109ca565b9250506040610aa486828701610a09565b9150509250925092565b610ab781610d5f565b82525050565b610ac681610d71565b82525050565b6000610ad782610d32565b610ae18185610d3d565b9350610af1818560208601610db6565b610afa81610e18565b840191505092915050565b6000610b12601e83610d4e565b91507f50726f7879206f66666572656420746f206f74686572206163636f756e7400006000830152602082019050919050565b6000610b52601483610d4e565b91507f50726f7879206973206e6f74206f6666657265640000000000000000000000006000830152602082019050919050565b6000610b92601283610d4e565b91507f4f6e6c79206f776e657220616c6c6f77656400000000000000000000000000006000830152602082019050919050565b610bce81610d9d565b82525050565b6000602082019050610be96000830184610aae565b92915050565b6000604082019050610c046000830185610aae565b610c116020830184610aae565b9392505050565b6000602082019050610c2d6000830184610abd565b92915050565b60006060820190508181036000830152610c4d8186610acc565b9050610c5c6020830185610aae565b610c696040830184610bc5565b949350505050565b60006020820190508181036000830152610c8a81610b05565b9050919050565b60006020820190508181036000830152610caa81610b45565b9050919050565b60006020820190508181036000830152610cca81610b85565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715610cf857610cf7610de9565b5b8060405250919050565b600067ffffffffffffffff821115610d1d57610d1c610de9565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610d6a82610d7d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610dd4578082015181840152602081019050610db9565b83811115610de3576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b610e3281610d5f565b8114610e3d57600080fd5b50565b610e4981610d9d565b8114610e5457600080fd5b5056fea26469706673582212209fae08f0d66e8d88c5cfad83685df807641086d60f313b3fbe56a7b5bb70641e64736f6c63430008000033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:1423:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "70:80:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "80:22:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "95:6:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "89:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "89:13:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "80:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "138:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "111:26:2" + }, + "nodeType": "YulFunctionCall", + "src": "111:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "111:33:2" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "48:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "56:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "64:5:2", + "type": "" + } + ], + "src": "7:143:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "250:346:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "296:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "305:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "308:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "298:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "298:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "298:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "271:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "280:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "267:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "267:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "292:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "263:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "263:32:2" + }, + "nodeType": "YulIf", + "src": "260:2:2" + }, + { + "nodeType": "YulBlock", + "src": "322:128:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "337:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "351:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "341:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "366:74:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "412:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "423:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "408:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "408:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "432:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "376:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "376:64:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "366:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "460:129:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "475:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "489:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "479:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "505:74:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "551:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "562:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "547:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "547:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "571:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "515:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "515:64:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "505:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "212:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "223:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "235:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "243:6:2", + "type": "" + } + ], + "src": "156:440:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "667:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "684:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "707:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "689:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "689:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "677:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "677:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "677:37:2" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "655:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "662:3:2", + "type": "" + } + ], + "src": "602:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "852:206:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "862:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "874:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "885:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "870:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "870:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "862:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "942:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "955:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "966:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "951:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "951:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "898:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "898:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "898:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1023:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1036:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1047:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1032:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1032:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "979:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "979:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "979:72:2" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "816:9:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "828:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "836:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "847:4:2", + "type": "" + } + ], + "src": "726:332:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1109:51:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1119:35:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1148:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "1130:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "1130:24:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1119:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1091:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1101:7:2", + "type": "" + } + ], + "src": "1064:96:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1211:81:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1221:65:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1236:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1243:42:2", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1232:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1232:54:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1221:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1193:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1203:7:2", + "type": "" + } + ], + "src": "1166:126:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1341:79:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1398:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1407:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1410:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1400:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1400:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1400:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1364:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1389:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "1371:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "1371:24:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1361:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "1361:35:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1354:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1354:43:2" + }, + "nodeType": "YulIf", + "src": "1351:2:2" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1334:5:2", + "type": "" + } + ], + "src": "1298:122:2" + } + ] + }, + "contents": "{\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_address_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 2, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:8685:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "90:259:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "100:73:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "165:6:2" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "124:40:2" + }, + "nodeType": "YulFunctionCall", + "src": "124:48:2" + } + ], + "functionName": { + "name": "allocateMemory", + "nodeType": "YulIdentifier", + "src": "109:14:2" + }, + "nodeType": "YulFunctionCall", + "src": "109:64:2" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "100:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "189:5:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "196:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "182:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "182:21:2" + }, + "nodeType": "YulExpressionStatement", + "src": "182:21:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "212:27:2", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "227:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "234:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "223:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "223:16:2" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "216:3:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "277:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "286:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "289:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "279:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "279:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "279:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "258:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "263:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "254:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "254:16:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "272:3:2" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "251:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "251:25:2" + }, + "nodeType": "YulIf", + "src": "248:2:2" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "326:3:2" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "331:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "336:6:2" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "302:23:2" + }, + "nodeType": "YulFunctionCall", + "src": "302:41:2" + }, + "nodeType": "YulExpressionStatement", + "src": "302:41:2" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "63:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "68:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "76:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "84:5:2", + "type": "" + } + ], + "src": "7:342:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "407:87:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "417:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "439:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "426:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "426:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "417:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "482:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "455:26:2" + }, + "nodeType": "YulFunctionCall", + "src": "455:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "455:33:2" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "385:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "393:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "401:5:2", + "type": "" + } + ], + "src": "355:139:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "574:210:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "623:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "632:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "635:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "625:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "625:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "625:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "602:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "610:4:2", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "598:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "598:17:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "617:3:2" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "594:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "594:27:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "587:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "587:35:2" + }, + "nodeType": "YulIf", + "src": "584:2:2" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "648:34:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "675:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "662:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "662:20:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "652:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "691:87:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "751:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "759:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "747:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "747:17:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "766:6:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "774:3:2" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "700:46:2" + }, + "nodeType": "YulFunctionCall", + "src": "700:78:2" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "691:5:2" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "552:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "560:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "568:5:2", + "type": "" + } + ], + "src": "513:271:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "842:87:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "852:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "874:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "861:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "861:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "852:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "917:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "890:26:2" + }, + "nodeType": "YulFunctionCall", + "src": "890:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "890:33:2" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "820:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "828:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "836:5:2", + "type": "" + } + ], + "src": "790:139:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1001:196:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1047:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1056:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1059:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1049:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1049:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1049:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1022:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1031:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1018:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1018:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1043:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1014:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1014:32:2" + }, + "nodeType": "YulIf", + "src": "1011:2:2" + }, + { + "nodeType": "YulBlock", + "src": "1073:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1088:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1102:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1092:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1117:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1152:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1163:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1148:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1148:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1172:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1127:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "1127:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1117:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "971:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "982:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "994:6:2", + "type": "" + } + ], + "src": "935:262:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1312:554:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1358:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1367:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1370:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1360:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1360:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1360:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1333:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1342:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1329:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1329:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1354:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1325:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1325:32:2" + }, + "nodeType": "YulIf", + "src": "1322:2:2" + }, + { + "nodeType": "YulBlock", + "src": "1384:219:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1399:45:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1430:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1441:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1426:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1426:17:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1413:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "1413:31:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1403:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1491:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1500:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1503:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1493:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1493:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1493:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1463:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1471:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1460:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "1460:30:2" + }, + "nodeType": "YulIf", + "src": "1457:2:2" + }, + { + "nodeType": "YulAssignment", + "src": "1521:72:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1565:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1576:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1561:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1561:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1585:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "1531:29:2" + }, + "nodeType": "YulFunctionCall", + "src": "1531:62:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1521:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1613:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1628:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1642:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1632:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1658:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1693:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1704:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1689:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1689:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1713:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1668:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "1668:53:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1658:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1741:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1756:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1770:2:2", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1760:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1786:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1821:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1832:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1817:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1817:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1841:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1796:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "1796:53:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1786:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptrt_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1266:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1277:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1289:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1297:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "1305:6:2", + "type": "" + } + ], + "src": "1203:663:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1937:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1954:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1977:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "1959:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "1959:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1947:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1947:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1947:37:2" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1925:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1932:3:2", + "type": "" + } + ], + "src": "1872:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2055:50:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2072:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2092:5:2" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "2077:14:2" + }, + "nodeType": "YulFunctionCall", + "src": "2077:21:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2065:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2065:34:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2065:34:2" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2043:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2050:3:2", + "type": "" + } + ], + "src": "1996:109:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2201:270:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2211:52:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2257:5:2" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2225:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "2225:38:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2215:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2272:77:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2337:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2342:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2279:57:2" + }, + "nodeType": "YulFunctionCall", + "src": "2279:70:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2272:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2384:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2391:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2380:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2380:16:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2398:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2403:6:2" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2358:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "2358:52:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2358:52:2" + }, + { + "nodeType": "YulAssignment", + "src": "2419:46:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2430:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2457:6:2" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2435:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "2435:29:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2426:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2426:39:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2419:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2182:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2189:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2197:3:2", + "type": "" + } + ], + "src": "2111:360:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2623:182:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2633:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2699:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2704:2:2", + "type": "", + "value": "30" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2640:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "2640:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2633:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2728:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2733:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2724:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2724:11:2" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "2737:32:2", + "type": "", + "value": "Proxy offered to other account" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2717:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2717:53:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2717:53:2" + }, + { + "nodeType": "YulAssignment", + "src": "2780:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2791:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2796:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2787:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2787:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2780:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2611:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2619:3:2", + "type": "" + } + ], + "src": "2477:328:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2957:172:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2967:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3033:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3038:2:2", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2974:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "2974:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2967:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3062:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3067:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3058:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3058:11:2" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "3071:22:2", + "type": "", + "value": "Proxy is not offered" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3051:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "3051:43:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3051:43:2" + }, + { + "nodeType": "YulAssignment", + "src": "3104:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3115:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3120:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3111:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3111:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3104:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2945:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2953:3:2", + "type": "" + } + ], + "src": "2811:318:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3281:170:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3291:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3357:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3362:2:2", + "type": "", + "value": "18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3298:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "3298:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3291:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3386:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3391:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3382:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3382:11:2" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "3395:20:2", + "type": "", + "value": "Only owner allowed" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3375:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "3375:41:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3375:41:2" + }, + { + "nodeType": "YulAssignment", + "src": "3426:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3437:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3442:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3433:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3433:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3426:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3269:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3277:3:2", + "type": "" + } + ], + "src": "3135:316:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3522:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3539:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3562:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3544:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "3544:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3532:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "3532:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3532:37:2" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3510:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3517:3:2", + "type": "" + } + ], + "src": "3457:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3679:124:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3689:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3701:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3712:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3697:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3697:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3689:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3769:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3782:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3793:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3778:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3778:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "3725:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "3725:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3725:71:2" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3651:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3663:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3674:4:2", + "type": "" + } + ], + "src": "3581:222:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3935:206:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3945:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3957:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3968:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3953:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3953:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3945:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4025:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4038:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4049:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4034:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4034:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "3981:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "3981:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3981:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4106:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4119:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4130:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4115:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4115:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "4062:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "4062:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4062:72:2" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3899:9:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3911:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3919:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3930:4:2", + "type": "" + } + ], + "src": "3809:332:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4239:118:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4249:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4261:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4272:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4257:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4257:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4249:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4323:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4336:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4347:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4332:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4332:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "4285:37:2" + }, + "nodeType": "YulFunctionCall", + "src": "4285:65:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4285:65:2" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4211:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4223:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4234:4:2", + "type": "" + } + ], + "src": "4147:210:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4535:357:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4545:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4557:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4568:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4553:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4553:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4545:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4592:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4603:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4588:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4588:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4611:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4617:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4607:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4607:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4581:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "4581:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4581:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "4637:84:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4707:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4716:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4645:61:2" + }, + "nodeType": "YulFunctionCall", + "src": "4645:76:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4637:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4775:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4788:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4799:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4784:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4784:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "4731:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "4731:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4731:72:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4857:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4870:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4881:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4866:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4866:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "4813:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "4813:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4813:72:2" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_address_t_uint256__to_t_bytes_memory_ptr_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4491:9:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "4503:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4511:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4519:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4530:4:2", + "type": "" + } + ], + "src": "4363:529:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5069:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5079:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5091:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5102:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5087:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5087:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5079:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5126:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5137:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5122:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5122:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5145:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5151:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5141:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5141:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5115:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "5115:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "5115:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "5171:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5305:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5179:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "5179:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5171:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5049:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5064:4:2", + "type": "" + } + ], + "src": "4898:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5494:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5504:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5516:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5527:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5512:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5512:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5504:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5551:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5562:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5547:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5547:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5570:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5576:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5566:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5566:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5540:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "5540:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "5540:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "5596:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5730:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5604:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "5604:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5596:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5474:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5489:4:2", + "type": "" + } + ], + "src": "5323:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5919:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5929:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5941:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5952:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5937:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5937:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5929:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5976:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5987:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5972:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5972:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5995:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6001:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5991:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5991:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5965:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "5965:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "5965:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "6021:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6155:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6029:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "6029:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6021:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5899:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5914:4:2", + "type": "" + } + ], + "src": "5748:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6213:243:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6223:19:2", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6239:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6233:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "6233:9:2" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6223:6:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6251:35:2", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6273:6:2" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6281:4:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6269:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "6269:17:2" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "6255:10:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6397:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "6399:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "6399:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6399:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "6340:10:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6352:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6337:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "6337:34:2" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "6376:10:2" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6388:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6373:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "6373:22:2" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "6334:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "6334:62:2" + }, + "nodeType": "YulIf", + "src": "6331:2:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6435:2:2", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "6439:10:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6428:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "6428:22:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6428:22:2" + } + ] + }, + "name": "allocateMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "6197:4:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "6206:6:2", + "type": "" + } + ], + "src": "6173:283:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6528:265:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6633:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "6635:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "6635:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "6635:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6605:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6613:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6602:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "6602:30:2" + }, + "nodeType": "YulIf", + "src": "6599:2:2" + }, + { + "nodeType": "YulAssignment", + "src": "6685:41:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6701:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6709:4:2", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6697:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "6697:17:2" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6720:4:2", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "6716:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "6716:9:2" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6693:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "6693:33:2" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6685:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6763:23:2", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6775:4:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6781:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6771:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "6771:15:2" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "6763:4:2" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6512:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "6523:4:2", + "type": "" + } + ], + "src": "6462:331:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6857:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6868:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6884:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6878:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "6878:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6868:6:2" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6840:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6850:6:2", + "type": "" + } + ], + "src": "6799:98:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6998:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7015:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7020:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7008:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "7008:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7008:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "7036:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7055:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7060:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7051:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7051:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "7036:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6970:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6975:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "6986:11:2", + "type": "" + } + ], + "src": "6903:168:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7173:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7190:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7195:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7183:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "7183:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7183:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "7211:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7230:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7235:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7226:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7226:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "7211:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7145:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7150:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "7161:11:2", + "type": "" + } + ], + "src": "7077:169:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7297:51:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7307:35:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7336:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "7318:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "7318:24:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "7307:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7279:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "7289:7:2", + "type": "" + } + ], + "src": "7252:96:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7396:48:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7406:32:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7431:5:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7424:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "7424:13:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7417:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "7417:21:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "7406:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7378:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "7388:7:2", + "type": "" + } + ], + "src": "7354:90:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7495:81:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7505:65:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7520:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7527:42:2", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "7516:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7516:54:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "7505:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7477:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "7487:7:2", + "type": "" + } + ], + "src": "7450:126:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7627:32:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7637:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7648:5:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "7637:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7609:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "7619:7:2", + "type": "" + } + ], + "src": "7582:77:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7716:103:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7739:3:2" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7744:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7749:6:2" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "7726:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "7726:30:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7726:30:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7797:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7802:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7793:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7793:16:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7811:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7786:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "7786:27:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7786:27:2" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "7698:3:2", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "7703:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7708:6:2", + "type": "" + } + ], + "src": "7665:154:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7874:258:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7884:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7893:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "7888:1:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7953:63:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "7978:3:2" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "7983:1:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7974:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7974:11:2" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7997:3:2" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "8002:1:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7993:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7993:11:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7987:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "7987:18:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7967:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "7967:39:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7967:39:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "7914:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7917:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "7911:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "7911:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "7925:19:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7927:15:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "7936:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7939:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7932:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7932:10:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "7927:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "7907:3:2", + "statements": [] + }, + "src": "7903:113:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8050:76:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "8100:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8105:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8096:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8096:16:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8114:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8089:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8089:27:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8089:27:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "8031:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8034:6:2" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8028:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "8028:13:2" + }, + "nodeType": "YulIf", + "src": "8025:2:2" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "7856:3:2", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "7861:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7866:6:2", + "type": "" + } + ], + "src": "7825:307:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8166:152:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8183:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8186:77:2", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8176:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8176:88:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8176:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8280:1:2", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8283:4:2", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8273:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8273:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8273:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8304:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8307:4:2", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8297:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8297:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8297:15:2" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "8138:180:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8372:54:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8382:38:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8400:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8407:2:2", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8396:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8396:14:2" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8416:2:2", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "8412:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8412:7:2" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "8392:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8392:28:2" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "8382:6:2" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8355:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "8365:6:2", + "type": "" + } + ], + "src": "8324:102:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8475:79:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8532:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8541:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8544:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8534:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8534:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8534:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8498:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8523:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "8505:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "8505:24:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "8495:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "8495:35:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8488:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8488:43:2" + }, + "nodeType": "YulIf", + "src": "8485:2:2" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8468:5:2", + "type": "" + } + ], + "src": "8432:122:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8603:79:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8660:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8669:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8672:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8662:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8662:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8662:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8626:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8651:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "8633:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "8633:24:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "8623:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "8623:35:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8616:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8616:43:2" + }, + "nodeType": "YulIf", + "src": "8613:2:2" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8596:5:2", + "type": "" + } + ], + "src": "8560:122:2" + } + ] + }, + "contents": "{\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocateMemory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes_memory_ptrt_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 30)\n\n mstore(add(pos, 0), \"Proxy offered to other account\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n\n mstore(add(pos, 0), \"Proxy is not offered\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n\n mstore(add(pos, 0), \"Only owner allowed\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr_t_address_t_uint256__to_t_bytes_memory_ptr_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function allocateMemory(size) -> memPtr {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, size)\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n // round up\n size := and(add(length, 0x1f), not(0x1f))\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 2, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "58:1678:1:-:0;;;227:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;287:6;279:5;;:14;;;;;;;;;;;;;;;;;;309:8;299:7;;:18;;;;;;;;;;;;;;;;;;339:7;;;;;;;;;;;323:40;;;372:4;379:5;;;;;;;;;;323:62;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;227:163;;58:1678;;7:143:2;;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;70:80;;;;:::o;156:440::-;;;292:2;280:9;271:7;267:23;263:32;260:2;;;308:1;305;298:12;260:2;351:1;376:64;432:7;423:6;412:9;408:22;376:64;:::i;:::-;366:74;;322:128;489:2;515:64;571:7;562:6;551:9;547:22;515:64;:::i;:::-;505:74;;460:129;250:346;;;;;:::o;602:118::-;689:24;707:5;689:24;:::i;:::-;684:3;677:37;667:53;;:::o;726:332::-;;885:2;874:9;870:18;862:26;;898:71;966:1;955:9;951:17;942:6;898:71;:::i;:::-;979:72;1047:2;1036:9;1032:18;1023:6;979:72;:::i;:::-;852:206;;;;;:::o;1064:96::-;;1130:24;1148:5;1130:24;:::i;:::-;1119:35;;1109:51;;;:::o;1166:126::-;;1243:42;1236:5;1232:54;1221:65;;1211:81;;;:::o;1298:122::-;1371:24;1389:5;1371:24;:::i;:::-;1364:5;1361:35;1351:2;;1410:1;1407;1400:12;1351:2;1341:79;:::o;58:1678:1:-;;;;;;;", + "deployedSourceMap": "58:1678:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1132:146;;;:::i;:::-;;89:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;133:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1350:384;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;658:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;819:163;;;:::i;:::-;;986:140;;;:::i;:::-;;1132:146;441:5;;;;;;;;;;427:19;;:10;:19;;;419:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1178:12:::1;:10;:12::i;:::-;1217:7;;;;;;;;;;;1201:46;;;1256:4;1263:9;;;;;;;;;;;1201:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1132:146::o:0;89:20::-;;;;;;;;;;;;:::o;133:24::-;;;;;;;;;;;;;:::o;1350:384::-;1458:12;441:5;;;;;;;;;;;427:19;;:10;:19;;;419:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;1480:17:::1;1500:5;1480:25;;1511:11;1525:4;:11;1511:25;;1678:1;1675::::0;1670:3:::1;1663:4;1657;1653:15;1646:5;1642:2;1635:5;1630:50;1619:61;;1696:33;1712:5;1719:2;1723:5;1696:33;;;;;;;;:::i;:::-;;;;;;;;475:1;;1350:384:::0;;;;;:::o;658:157::-;441:5;;;;;;;;;;427:19;;:10;:19;;;419:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;728:10:::1;716:9;;:22;;;;;;;;;;;;;;;;;;760:7;;;;;;;;;;;744:40;;;793:4;800:9;;;;;;;;;;;744:66;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;658:157:::0;:::o;819:163::-;543:1;522:23;;:9;;;;;;;;;;;:23;;;;514:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;598:9;;;;;;;;;;;584:23;;:10;:23;;;576:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;877:9:::1;;;;;;;;;;;869:5;::::0;:17:::1;;;;;;;;;;;;;;;;;;908:7;;;;;;;;;;;892:41;;;942:4;949:9;;;;;;;;;;;892:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;965:12;:10;:12::i;:::-;819:163::o:0;986:140::-;543:1;522:23;;:9;;;;;;;;;;;:23;;;;514:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;598:9;;;;;;;;;;;584:23;;:10;:23;;;576:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1052:7:::1;;;;;;;;;;;1036:41;;;1086:4;1093:9;;;;;;;;;;;1036:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1109:12;:10;:12::i;:::-;986:140::o:0;1282:64::-;1339:1;1319:9;;:22;;;;;;;;;;;;;;;;;;1282:64::o;7:342:2:-;;109:64;124:48;165:6;124:48;:::i;:::-;109:64;:::i;:::-;100:73;;196:6;189:5;182:21;234:4;227:5;223:16;272:3;263:6;258:3;254:16;251:25;248:2;;;289:1;286;279:12;248:2;302:41;336:6;331:3;326;302:41;:::i;:::-;90:259;;;;;;:::o;355:139::-;;439:6;426:20;417:29;;455:33;482:5;455:33;:::i;:::-;407:87;;;;:::o;513:271::-;;617:3;610:4;602:6;598:17;594:27;584:2;;635:1;632;625:12;584:2;675:6;662:20;700:78;774:3;766:6;759:4;751:6;747:17;700:78;:::i;:::-;691:87;;574:210;;;;;:::o;790:139::-;;874:6;861:20;852:29;;890:33;917:5;890:33;:::i;:::-;842:87;;;;:::o;935:262::-;;1043:2;1031:9;1022:7;1018:23;1014:32;1011:2;;;1059:1;1056;1049:12;1011:2;1102:1;1127:53;1172:7;1163:6;1152:9;1148:22;1127:53;:::i;:::-;1117:63;;1073:117;1001:196;;;;:::o;1203:663::-;;;;1354:2;1342:9;1333:7;1329:23;1325:32;1322:2;;;1370:1;1367;1360:12;1322:2;1441:1;1430:9;1426:17;1413:31;1471:18;1463:6;1460:30;1457:2;;;1503:1;1500;1493:12;1457:2;1531:62;1585:7;1576:6;1565:9;1561:22;1531:62;:::i;:::-;1521:72;;1384:219;1642:2;1668:53;1713:7;1704:6;1693:9;1689:22;1668:53;:::i;:::-;1658:63;;1613:118;1770:2;1796:53;1841:7;1832:6;1821:9;1817:22;1796:53;:::i;:::-;1786:63;;1741:118;1312:554;;;;;:::o;1872:118::-;1959:24;1977:5;1959:24;:::i;:::-;1954:3;1947:37;1937:53;;:::o;1996:109::-;2077:21;2092:5;2077:21;:::i;:::-;2072:3;2065:34;2055:50;;:::o;2111:360::-;;2225:38;2257:5;2225:38;:::i;:::-;2279:70;2342:6;2337:3;2279:70;:::i;:::-;2272:77;;2358:52;2403:6;2398:3;2391:4;2384:5;2380:16;2358:52;:::i;:::-;2435:29;2457:6;2435:29;:::i;:::-;2430:3;2426:39;2419:46;;2201:270;;;;;:::o;2477:328::-;;2640:67;2704:2;2699:3;2640:67;:::i;:::-;2633:74;;2737:32;2733:1;2728:3;2724:11;2717:53;2796:2;2791:3;2787:12;2780:19;;2623:182;;;:::o;2811:318::-;;2974:67;3038:2;3033:3;2974:67;:::i;:::-;2967:74;;3071:22;3067:1;3062:3;3058:11;3051:43;3120:2;3115:3;3111:12;3104:19;;2957:172;;;:::o;3135:316::-;;3298:67;3362:2;3357:3;3298:67;:::i;:::-;3291:74;;3395:20;3391:1;3386:3;3382:11;3375:41;3442:2;3437:3;3433:12;3426:19;;3281:170;;;:::o;3457:118::-;3544:24;3562:5;3544:24;:::i;:::-;3539:3;3532:37;3522:53;;:::o;3581:222::-;;3712:2;3701:9;3697:18;3689:26;;3725:71;3793:1;3782:9;3778:17;3769:6;3725:71;:::i;:::-;3679:124;;;;:::o;3809:332::-;;3968:2;3957:9;3953:18;3945:26;;3981:71;4049:1;4038:9;4034:17;4025:6;3981:71;:::i;:::-;4062:72;4130:2;4119:9;4115:18;4106:6;4062:72;:::i;:::-;3935:206;;;;;:::o;4147:210::-;;4272:2;4261:9;4257:18;4249:26;;4285:65;4347:1;4336:9;4332:17;4323:6;4285:65;:::i;:::-;4239:118;;;;:::o;4363:529::-;;4568:2;4557:9;4553:18;4545:26;;4617:9;4611:4;4607:20;4603:1;4592:9;4588:17;4581:47;4645:76;4716:4;4707:6;4645:76;:::i;:::-;4637:84;;4731:72;4799:2;4788:9;4784:18;4775:6;4731:72;:::i;:::-;4813;4881:2;4870:9;4866:18;4857:6;4813:72;:::i;:::-;4535:357;;;;;;:::o;4898:419::-;;5102:2;5091:9;5087:18;5079:26;;5151:9;5145:4;5141:20;5137:1;5126:9;5122:17;5115:47;5179:131;5305:4;5179:131;:::i;:::-;5171:139;;5069:248;;;:::o;5323:419::-;;5527:2;5516:9;5512:18;5504:26;;5576:9;5570:4;5566:20;5562:1;5551:9;5547:17;5540:47;5604:131;5730:4;5604:131;:::i;:::-;5596:139;;5494:248;;;:::o;5748:419::-;;5952:2;5941:9;5937:18;5929:26;;6001:9;5995:4;5991:20;5987:1;5976:9;5972:17;5965:47;6029:131;6155:4;6029:131;:::i;:::-;6021:139;;5919:248;;;:::o;6173:283::-;;6239:2;6233:9;6223:19;;6281:4;6273:6;6269:17;6388:6;6376:10;6373:22;6352:18;6340:10;6337:34;6334:62;6331:2;;;6399:18;;:::i;:::-;6331:2;6439:10;6435:2;6428:22;6213:243;;;;:::o;6462:331::-;;6613:18;6605:6;6602:30;6599:2;;;6635:18;;:::i;:::-;6599:2;6720:4;6716:9;6709:4;6701:6;6697:17;6693:33;6685:41;;6781:4;6775;6771:15;6763:23;;6528:265;;;:::o;6799:98::-;;6884:5;6878:12;6868:22;;6857:40;;;:::o;6903:168::-;;7020:6;7015:3;7008:19;7060:4;7055:3;7051:14;7036:29;;6998:73;;;;:::o;7077:169::-;;7195:6;7190:3;7183:19;7235:4;7230:3;7226:14;7211:29;;7173:73;;;;:::o;7252:96::-;;7318:24;7336:5;7318:24;:::i;:::-;7307:35;;7297:51;;;:::o;7354:90::-;;7431:5;7424:13;7417:21;7406:32;;7396:48;;;:::o;7450:126::-;;7527:42;7520:5;7516:54;7505:65;;7495:81;;;:::o;7582:77::-;;7648:5;7637:16;;7627:32;;;:::o;7665:154::-;7749:6;7744:3;7739;7726:30;7811:1;7802:6;7797:3;7793:16;7786:27;7716:103;;;:::o;7825:307::-;7893:1;7903:113;7917:6;7914:1;7911:13;7903:113;;;8002:1;7997:3;7993:11;7987:18;7983:1;7978:3;7974:11;7967:39;7939:2;7936:1;7932:10;7927:15;;7903:113;;;8034:6;8031:1;8028:13;8025:2;;;8114:1;8105:6;8100:3;8096:16;8089:27;8025:2;7874:258;;;;:::o;8138:180::-;8186:77;8183:1;8176:88;8283:4;8280:1;8273:15;8307:4;8304:1;8297:15;8324:102;;8416:2;8412:7;8407:2;8400:5;8396:14;8392:28;8382:38;;8372:54;;;:::o;8432:122::-;8505:24;8523:5;8505:24;:::i;:::-;8498:5;8495:35;8485:2;;8544:1;8541;8534:12;8485:2;8475:79;:::o;8560:122::-;8633:24;8651:5;8633:24;:::i;:::-;8626:5;8623:35;8613:2;;8672:1;8669;8662:12;8613:2;8603:79;:::o", + "source": "pragma solidity 0.8.0;\n\nimport \"./IdentityManager.sol\";\n\n\ncontract OfferableIdentity {\n address public owner;\n address manager;\n\n address public offeredTo;\n\n event TransactionSent(bytes data, address to, uint256 value);\n\n constructor(address _owner, address _manager) {\n owner = _owner;\n manager = _manager;\n IdentityManager(manager).identityCreated(address(this), owner);\n }\n\n modifier isOwner() {\n require(msg.sender == owner, \"Only owner allowed\");\n _;\n }\n\n modifier isOfferedTo() {\n require(offeredTo != address(0), \"Proxy is not offered\");\n require(msg.sender == offeredTo, \"Proxy offered to other account\");\n _;\n }\n\n function offer(address _offeredTo) external isOwner {\n offeredTo = _offeredTo;\n IdentityManager(manager).identityOffered(address(this), offeredTo);\n }\n\n function acceptOffer() external isOfferedTo {\n owner = offeredTo;\n IdentityManager(manager).identityAccepted(address(this), offeredTo);\n closeOffer();\n }\n\n function rejectOffer() external isOfferedTo {\n IdentityManager(manager).identityRejected(address(this), offeredTo);\n closeOffer();\n }\n \n function cancelOffer() external isOwner {\n closeOffer();\n \n IdentityManager(manager).identityOfferCanceled(address(this), offeredTo);\n }\n\n function closeOffer() internal {\n offeredTo = address(0);\n }\n\n function sendTransaction(bytes memory _data, address to, uint256 value)\n public\n isOwner\n returns (bool success)\n {\n bytes memory data = _data;\n uint256 len = data.length;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := call(gas(), to, value, add(data, 0x20), len, 0, 0)\n }\n emit TransactionSent(_data, to, value);\n }\n}\n", + "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", + "ast": { + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", + "exportedSymbols": { + "IdentityManager": [ + 157 + ], + "OfferableIdentity": [ + 364 + ] + }, + "id": 365, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 159, + "literals": [ + "solidity", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:22:1" + }, + { + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/IdentityManager.sol", + "file": "./IdentityManager.sol", + "id": 160, + "nodeType": "ImportDirective", + "scope": 365, + "sourceUnit": 158, + "src": "24:31:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 364, + "linearizedBaseContracts": [ + 364 + ], + "name": "OfferableIdentity", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 162, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "89:20:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 161, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "89:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 164, + "mutability": "mutable", + "name": "manager", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "113:15:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "113:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "918af2cf", + "id": 166, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "133:24:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "133:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "anonymous": false, + "id": 174, + "name": "TransactionSent", + "nodeType": "EventDefinition", + "parameters": { + "id": 173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 168, + "indexed": false, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 174, + "src": "184:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 167, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "184:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 170, + "indexed": false, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 174, + "src": "196:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "196:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 172, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 174, + "src": "208:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 171, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "208:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "183:39:1" + }, + "src": "162:61:1" + }, + { + "body": { + "id": 200, + "nodeType": "Block", + "src": "273:117:1", + "statements": [ + { + "expression": { + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 181, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "279:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 182, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 176, + "src": "287:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "279:14:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 184, + "nodeType": "ExpressionStatement", + "src": "279:14:1" + }, + { + "expression": { + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 185, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "299:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 186, + "name": "_manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 178, + "src": "309:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "299:18:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 188, + "nodeType": "ExpressionStatement", + "src": "299:18:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 195, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "372:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + ], + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "364:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 193, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "364:7:1", + "typeDescriptions": {} + } + }, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "364:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 197, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "379:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 190, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "339:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 189, + "name": "IdentityManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "323:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IdentityManager_$157_$", + "typeString": "type(contract IdentityManager)" + } + }, + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "323:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityManager_$157", + "typeString": "contract IdentityManager" + } + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "identityCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 76, + "src": "323:40:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "323:62:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 199, + "nodeType": "ExpressionStatement", + "src": "323:62:1" + } + ] + }, + "id": 201, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 176, + "mutability": "mutable", + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 201, + "src": "239:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "239:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 178, + "mutability": "mutable", + "name": "_manager", + "nodeType": "VariableDeclaration", + "scope": 201, + "src": "255:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 177, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "255:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "238:34:1" + }, + "returnParameters": { + "id": 180, + "nodeType": "ParameterList", + "parameters": [], + "src": "273:0:1" + }, + "scope": 364, + "src": "227:163:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 212, + "nodeType": "Block", + "src": "413:68:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "427:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "427:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 206, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "441:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "427:19:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f6e6c79206f776e657220616c6c6f776564", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "448:20:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + }, + "value": "Only owner allowed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + } + ], + "id": 203, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "419:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "419:50:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 210, + "nodeType": "ExpressionStatement", + "src": "419:50:1" + }, + { + "id": 211, + "nodeType": "PlaceholderStatement", + "src": "475:1:1" + } + ] + }, + "id": 213, + "name": "isOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 202, + "nodeType": "ParameterList", + "parameters": [], + "src": "410:2:1" + }, + "src": "394:87:1", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 234, + "nodeType": "Block", + "src": "508:146:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 216, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "522:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "543:1:1", + "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": 218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "535:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 217, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "535:7:1", + "typeDescriptions": {} + } + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "535:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "522:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "50726f7879206973206e6f74206f666665726564", + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "547:22:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" + }, + "value": "Proxy is not offered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" + } + ], + "id": 215, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "514:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "514:56:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 224, + "nodeType": "ExpressionStatement", + "src": "514:56:1" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 226, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "584:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "584:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 228, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "598:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "584:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "50726f7879206f66666572656420746f206f74686572206163636f756e74", + "id": 230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "609:32:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + }, + "value": "Proxy offered to other account" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + } + ], + "id": 225, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "576:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "576:66:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 232, + "nodeType": "ExpressionStatement", + "src": "576:66:1" + }, + { + "id": 233, + "nodeType": "PlaceholderStatement", + "src": "648:1:1" + } + ] + }, + "id": 235, + "name": "isOfferedTo", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 214, + "nodeType": "ParameterList", + "parameters": [], + "src": "505:2:1" + }, + "src": "485:169:1", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 257, + "nodeType": "Block", + "src": "710:105:1", + "statements": [ + { + "expression": { + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 242, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "716:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 243, + "name": "_offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 237, + "src": "728:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "716:22:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 245, + "nodeType": "ExpressionStatement", + "src": "716:22:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 252, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "793:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + ], + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "785:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 250, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "785:7:1", + "typeDescriptions": {} + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "785:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 254, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "800:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 247, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "760:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 246, + "name": "IdentityManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "744:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IdentityManager_$157_$", + "typeString": "type(contract IdentityManager)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "744:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityManager_$157", + "typeString": "contract IdentityManager" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "identityOffered", + "nodeType": "MemberAccess", + "referencedDeclaration": 96, + "src": "744:40:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "744:66:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 256, + "nodeType": "ExpressionStatement", + "src": "744:66:1" + } + ] + }, + "functionSelector": "ce2d4aca", + "id": 258, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 240, + "modifierName": { + "id": 239, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 213, + "src": "702:7:1" + }, + "nodeType": "ModifierInvocation", + "src": "702:7:1" + } + ], + "name": "offer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 237, + "mutability": "mutable", + "name": "_offeredTo", + "nodeType": "VariableDeclaration", + "scope": 258, + "src": "673:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "673:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "672:20:1" + }, + "returnParameters": { + "id": 241, + "nodeType": "ParameterList", + "parameters": [], + "src": "710:0:1" + }, + "scope": 364, + "src": "658:157:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 281, + "nodeType": "Block", + "src": "863:119:1", + "statements": [ + { + "expression": { + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 263, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "869:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 264, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "877:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "869:17:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 266, + "nodeType": "ExpressionStatement", + "src": "869:17:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 273, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "942:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + ], + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "934:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "934:7:1", + "typeDescriptions": {} + } + }, + "id": 274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "934:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 275, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "949:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 268, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "908:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 267, + "name": "IdentityManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "892:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IdentityManager_$157_$", + "typeString": "type(contract IdentityManager)" + } + }, + "id": 269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "892:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityManager_$157", + "typeString": "contract IdentityManager" + } + }, + "id": 270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "identityAccepted", + "nodeType": "MemberAccess", + "referencedDeclaration": 116, + "src": "892:41:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "892:67:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 277, + "nodeType": "ExpressionStatement", + "src": "892:67:1" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 278, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "965:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "965:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 280, + "nodeType": "ExpressionStatement", + "src": "965:12:1" + } + ] + }, + "functionSelector": "eb62df61", + "id": 282, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 261, + "modifierName": { + "id": 260, + "name": "isOfferedTo", + "nodeType": "IdentifierPath", + "referencedDeclaration": 235, + "src": "851:11:1" + }, + "nodeType": "ModifierInvocation", + "src": "851:11:1" + } + ], + "name": "acceptOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 259, + "nodeType": "ParameterList", + "parameters": [], + "src": "839:2:1" + }, + "returnParameters": { + "id": 262, + "nodeType": "ParameterList", + "parameters": [], + "src": "863:0:1" + }, + "scope": 364, + "src": "819:163:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 301, + "nodeType": "Block", + "src": "1030:96:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 293, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "1086:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + ], + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1078:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 291, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1078:7:1", + "typeDescriptions": {} + } + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1078:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 295, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1093:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 288, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "1052:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 287, + "name": "IdentityManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1036:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IdentityManager_$157_$", + "typeString": "type(contract IdentityManager)" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1036:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityManager_$157", + "typeString": "contract IdentityManager" + } + }, + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "identityRejected", + "nodeType": "MemberAccess", + "referencedDeclaration": 136, + "src": "1036:41:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1036:67:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 297, + "nodeType": "ExpressionStatement", + "src": "1036:67:1" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 298, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "1109:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1109:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 300, + "nodeType": "ExpressionStatement", + "src": "1109:12:1" + } + ] + }, + "functionSelector": "efd998ad", + "id": 302, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 285, + "modifierName": { + "id": 284, + "name": "isOfferedTo", + "nodeType": "IdentifierPath", + "referencedDeclaration": 235, + "src": "1018:11:1" + }, + "nodeType": "ModifierInvocation", + "src": "1018:11:1" + } + ], + "name": "rejectOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 283, + "nodeType": "ParameterList", + "parameters": [], + "src": "1006:2:1" + }, + "returnParameters": { + "id": 286, + "nodeType": "ParameterList", + "parameters": [], + "src": "1030:0:1" + }, + "scope": 364, + "src": "986:140:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 321, + "nodeType": "Block", + "src": "1172:106:1", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 307, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "1178:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1178:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 309, + "nodeType": "ExpressionStatement", + "src": "1178:12:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 316, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "1256:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + ], + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1248:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 314, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1248:7:1", + "typeDescriptions": {} + } + }, + "id": 317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1248:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 318, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1263:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 311, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "1217:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 310, + "name": "IdentityManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1201:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IdentityManager_$157_$", + "typeString": "type(contract IdentityManager)" + } + }, + "id": 312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1201:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityManager_$157", + "typeString": "contract IdentityManager" + } + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "identityOfferCanceled", + "nodeType": "MemberAccess", + "referencedDeclaration": 156, + "src": "1201:46:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1201:72:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 320, + "nodeType": "ExpressionStatement", + "src": "1201:72:1" + } + ] + }, + "functionSelector": "62d05c78", + "id": 322, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 305, + "modifierName": { + "id": 304, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 213, + "src": "1164:7:1" + }, + "nodeType": "ModifierInvocation", + "src": "1164:7:1" + } + ], + "name": "cancelOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 303, + "nodeType": "ParameterList", + "parameters": [], + "src": "1152:2:1" + }, + "returnParameters": { + "id": 306, + "nodeType": "ParameterList", + "parameters": [], + "src": "1172:0:1" + }, + "scope": 364, + "src": "1132:146:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 332, + "nodeType": "Block", + "src": "1313:33:1", + "statements": [ + { + "expression": { + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 325, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1319:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "30", + "id": 328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1339:1:1", + "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": 327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1331:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1331:7:1", + "typeDescriptions": {} + } + }, + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1331:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1319:22:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 331, + "nodeType": "ExpressionStatement", + "src": "1319:22:1" + } + ] + }, + "id": 333, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "closeOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 323, + "nodeType": "ParameterList", + "parameters": [], + "src": "1301:2:1" + }, + "returnParameters": { + "id": 324, + "nodeType": "ParameterList", + "parameters": [], + "src": "1313:0:1" + }, + "scope": 364, + "src": "1282:64:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 362, + "nodeType": "Block", + "src": "1474:260:1", + "statements": [ + { + "assignments": [ + 347 + ], + "declarations": [ + { + "constant": false, + "id": 347, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "1480:17:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 346, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1480:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 349, + "initialValue": { + "id": 348, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 335, + "src": "1500:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1480:25:1" + }, + { + "assignments": [ + 351 + ], + "declarations": [ + { + "constant": false, + "id": 351, + "mutability": "mutable", + "name": "len", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "1511:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 350, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1511:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 354, + "initialValue": { + "expression": { + "id": 352, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 347, + "src": "1525:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1525:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1511:25:1" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1611:75:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1619:61:1", + "value": { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "1635:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1635:5:1" + }, + { + "name": "to", + "nodeType": "YulIdentifier", + "src": "1642:2:1" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1646:5:1" + }, + { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "1657:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1663:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1653:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1653:15:1" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "1670:3:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1675:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1678:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "1630:4:1" + }, + "nodeType": "YulFunctionCall", + "src": "1630:50:1" + }, + "variableNames": [ + { + "name": "success", + "nodeType": "YulIdentifier", + "src": "1619:7:1" + } + ] + } + ] + }, + "evmVersion": "constantinople", + "externalReferences": [ + { + "declaration": 347, + "isOffset": false, + "isSlot": false, + "src": "1657:4:1", + "valueSize": 1 + }, + { + "declaration": 351, + "isOffset": false, + "isSlot": false, + "src": "1670:3:1", + "valueSize": 1 + }, + { + "declaration": 344, + "isOffset": false, + "isSlot": false, + "src": "1619:7:1", + "valueSize": 1 + }, + { + "declaration": 337, + "isOffset": false, + "isSlot": false, + "src": "1642:2:1", + "valueSize": 1 + }, + { + "declaration": 339, + "isOffset": false, + "isSlot": false, + "src": "1646:5:1", + "valueSize": 1 + } + ], + "id": 355, + "nodeType": "InlineAssembly", + "src": "1602:84:1" + }, + { + "eventCall": { + "arguments": [ + { + "id": 357, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 335, + "src": "1712:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 358, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 337, + "src": "1719:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 359, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "1723:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 356, + "name": "TransactionSent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 174, + "src": "1696:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes memory,address,uint256)" + } + }, + "id": 360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1696:33:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 361, + "nodeType": "EmitStatement", + "src": "1691:38:1" + } + ] + }, + "functionSelector": "bbc01857", + "id": 363, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 342, + "modifierName": { + "id": 341, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 213, + "src": "1437:7:1" + }, + "nodeType": "ModifierInvocation", + "src": "1437:7:1" + } + ], + "name": "sendTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 335, + "mutability": "mutable", + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "1375:18:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 334, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1375:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 337, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "1395:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 336, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1395:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "1407:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1407:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1374:47:1" + }, + "returnParameters": { + "id": 345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 344, + "mutability": "mutable", + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "1458:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 343, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1458:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1457:14:1" + }, + "scope": 364, + "src": "1350:384:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 365, + "src": "58:1678:1" + } + ], + "src": "0:1737:1" + }, + "legacyAST": { + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", + "exportedSymbols": { + "IdentityManager": [ + 157 + ], + "OfferableIdentity": [ + 364 + ] + }, + "id": 365, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 159, + "literals": [ + "solidity", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:22:1" + }, + { + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/IdentityManager.sol", + "file": "./IdentityManager.sol", + "id": 160, + "nodeType": "ImportDirective", + "scope": 365, + "sourceUnit": 158, + "src": "24:31:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 364, + "linearizedBaseContracts": [ + 364 + ], + "name": "OfferableIdentity", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 162, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "89:20:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 161, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "89:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 164, + "mutability": "mutable", + "name": "manager", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "113:15:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "113:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "918af2cf", + "id": 166, + "mutability": "mutable", + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "133:24:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "133:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "anonymous": false, + "id": 174, + "name": "TransactionSent", + "nodeType": "EventDefinition", + "parameters": { + "id": 173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 168, + "indexed": false, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 174, + "src": "184:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 167, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "184:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 170, + "indexed": false, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 174, + "src": "196:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "196:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 172, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 174, + "src": "208:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 171, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "208:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "183:39:1" + }, + "src": "162:61:1" + }, + { + "body": { + "id": 200, + "nodeType": "Block", + "src": "273:117:1", + "statements": [ + { + "expression": { + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 181, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "279:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 182, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 176, + "src": "287:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "279:14:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 184, + "nodeType": "ExpressionStatement", + "src": "279:14:1" + }, + { + "expression": { + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 185, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "299:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 186, + "name": "_manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 178, + "src": "309:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "299:18:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 188, + "nodeType": "ExpressionStatement", + "src": "299:18:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 195, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "372:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + ], + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "364:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 193, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "364:7:1", + "typeDescriptions": {} + } + }, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "364:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 197, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "379:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 190, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "339:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 189, + "name": "IdentityManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "323:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IdentityManager_$157_$", + "typeString": "type(contract IdentityManager)" + } + }, + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "323:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityManager_$157", + "typeString": "contract IdentityManager" + } + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "identityCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 76, + "src": "323:40:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "323:62:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 199, + "nodeType": "ExpressionStatement", + "src": "323:62:1" + } + ] + }, + "id": 201, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 176, + "mutability": "mutable", + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 201, + "src": "239:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "239:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 178, + "mutability": "mutable", + "name": "_manager", + "nodeType": "VariableDeclaration", + "scope": 201, + "src": "255:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 177, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "255:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "238:34:1" + }, + "returnParameters": { + "id": 180, + "nodeType": "ParameterList", + "parameters": [], + "src": "273:0:1" + }, + "scope": 364, + "src": "227:163:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 212, + "nodeType": "Block", + "src": "413:68:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "427:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "427:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 206, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "441:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "427:19:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f6e6c79206f776e657220616c6c6f776564", + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "448:20:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + }, + "value": "Only owner allowed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + } + ], + "id": 203, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "419:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "419:50:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 210, + "nodeType": "ExpressionStatement", + "src": "419:50:1" + }, + { + "id": 211, + "nodeType": "PlaceholderStatement", + "src": "475:1:1" + } + ] + }, + "id": 213, + "name": "isOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 202, + "nodeType": "ParameterList", + "parameters": [], + "src": "410:2:1" + }, + "src": "394:87:1", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 234, + "nodeType": "Block", + "src": "508:146:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 216, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "522:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "543:1:1", + "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": 218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "535:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 217, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "535:7:1", + "typeDescriptions": {} + } + }, + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "535:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "522:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "50726f7879206973206e6f74206f666665726564", + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "547:22:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" + }, + "value": "Proxy is not offered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" + } + ], + "id": 215, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "514:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "514:56:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 224, + "nodeType": "ExpressionStatement", + "src": "514:56:1" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 226, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "584:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "584:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 228, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "598:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "584:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "50726f7879206f66666572656420746f206f74686572206163636f756e74", + "id": 230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "609:32:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + }, + "value": "Proxy offered to other account" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + } + ], + "id": 225, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "576:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "576:66:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 232, + "nodeType": "ExpressionStatement", + "src": "576:66:1" + }, + { + "id": 233, + "nodeType": "PlaceholderStatement", + "src": "648:1:1" + } + ] + }, + "id": 235, + "name": "isOfferedTo", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 214, + "nodeType": "ParameterList", + "parameters": [], + "src": "505:2:1" + }, + "src": "485:169:1", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 257, + "nodeType": "Block", + "src": "710:105:1", + "statements": [ + { + "expression": { + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 242, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "716:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 243, + "name": "_offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 237, + "src": "728:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "716:22:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 245, + "nodeType": "ExpressionStatement", + "src": "716:22:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 252, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "793:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + ], + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "785:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 250, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "785:7:1", + "typeDescriptions": {} + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "785:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 254, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "800:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 247, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "760:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 246, + "name": "IdentityManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "744:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IdentityManager_$157_$", + "typeString": "type(contract IdentityManager)" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "744:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityManager_$157", + "typeString": "contract IdentityManager" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "identityOffered", + "nodeType": "MemberAccess", + "referencedDeclaration": 96, + "src": "744:40:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "744:66:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 256, + "nodeType": "ExpressionStatement", + "src": "744:66:1" + } + ] + }, + "functionSelector": "ce2d4aca", + "id": 258, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 240, + "modifierName": { + "id": 239, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 213, + "src": "702:7:1" + }, + "nodeType": "ModifierInvocation", + "src": "702:7:1" + } + ], + "name": "offer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 237, + "mutability": "mutable", + "name": "_offeredTo", + "nodeType": "VariableDeclaration", + "scope": 258, + "src": "673:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "673:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "672:20:1" + }, + "returnParameters": { + "id": 241, + "nodeType": "ParameterList", + "parameters": [], + "src": "710:0:1" + }, + "scope": 364, + "src": "658:157:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 281, + "nodeType": "Block", + "src": "863:119:1", + "statements": [ + { + "expression": { + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 263, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "869:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 264, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "877:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "869:17:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 266, + "nodeType": "ExpressionStatement", + "src": "869:17:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 273, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "942:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + ], + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "934:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "934:7:1", + "typeDescriptions": {} + } + }, + "id": 274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "934:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 275, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "949:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 268, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "908:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 267, + "name": "IdentityManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "892:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IdentityManager_$157_$", + "typeString": "type(contract IdentityManager)" + } + }, + "id": 269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "892:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityManager_$157", + "typeString": "contract IdentityManager" + } + }, + "id": 270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "identityAccepted", + "nodeType": "MemberAccess", + "referencedDeclaration": 116, + "src": "892:41:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "892:67:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 277, + "nodeType": "ExpressionStatement", + "src": "892:67:1" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 278, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "965:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "965:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 280, + "nodeType": "ExpressionStatement", + "src": "965:12:1" + } + ] + }, + "functionSelector": "eb62df61", + "id": 282, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 261, + "modifierName": { + "id": 260, + "name": "isOfferedTo", + "nodeType": "IdentifierPath", + "referencedDeclaration": 235, + "src": "851:11:1" + }, + "nodeType": "ModifierInvocation", + "src": "851:11:1" + } + ], + "name": "acceptOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 259, + "nodeType": "ParameterList", + "parameters": [], + "src": "839:2:1" + }, + "returnParameters": { + "id": 262, + "nodeType": "ParameterList", + "parameters": [], + "src": "863:0:1" + }, + "scope": 364, + "src": "819:163:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 301, + "nodeType": "Block", + "src": "1030:96:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 293, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "1086:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + ], + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1078:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 291, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1078:7:1", + "typeDescriptions": {} + } + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1078:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 295, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1093:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 288, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "1052:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 287, + "name": "IdentityManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1036:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IdentityManager_$157_$", + "typeString": "type(contract IdentityManager)" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1036:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityManager_$157", + "typeString": "contract IdentityManager" + } + }, + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "identityRejected", + "nodeType": "MemberAccess", + "referencedDeclaration": 136, + "src": "1036:41:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1036:67:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 297, + "nodeType": "ExpressionStatement", + "src": "1036:67:1" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 298, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "1109:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1109:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 300, + "nodeType": "ExpressionStatement", + "src": "1109:12:1" + } + ] + }, + "functionSelector": "efd998ad", + "id": 302, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 285, + "modifierName": { + "id": 284, + "name": "isOfferedTo", + "nodeType": "IdentifierPath", + "referencedDeclaration": 235, + "src": "1018:11:1" + }, + "nodeType": "ModifierInvocation", + "src": "1018:11:1" + } + ], + "name": "rejectOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 283, + "nodeType": "ParameterList", + "parameters": [], + "src": "1006:2:1" + }, + "returnParameters": { + "id": 286, + "nodeType": "ParameterList", + "parameters": [], + "src": "1030:0:1" + }, + "scope": 364, + "src": "986:140:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 321, + "nodeType": "Block", + "src": "1172:106:1", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 307, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "1178:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1178:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 309, + "nodeType": "ExpressionStatement", + "src": "1178:12:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 316, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "1256:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$364", + "typeString": "contract OfferableIdentity" + } + ], + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1248:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 314, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1248:7:1", + "typeDescriptions": {} + } + }, + "id": 317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1248:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 318, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1263:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 311, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "1217:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 310, + "name": "IdentityManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1201:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IdentityManager_$157_$", + "typeString": "type(contract IdentityManager)" + } + }, + "id": 312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1201:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityManager_$157", + "typeString": "contract IdentityManager" + } + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "identityOfferCanceled", + "nodeType": "MemberAccess", + "referencedDeclaration": 156, + "src": "1201:46:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1201:72:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 320, + "nodeType": "ExpressionStatement", + "src": "1201:72:1" + } + ] + }, + "functionSelector": "62d05c78", + "id": 322, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 305, + "modifierName": { + "id": 304, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 213, + "src": "1164:7:1" + }, + "nodeType": "ModifierInvocation", + "src": "1164:7:1" + } + ], + "name": "cancelOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 303, + "nodeType": "ParameterList", + "parameters": [], + "src": "1152:2:1" + }, + "returnParameters": { + "id": 306, + "nodeType": "ParameterList", + "parameters": [], + "src": "1172:0:1" + }, + "scope": 364, + "src": "1132:146:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 332, + "nodeType": "Block", + "src": "1313:33:1", + "statements": [ + { + "expression": { + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 325, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "1319:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "30", + "id": 328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1339:1:1", + "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": 327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1331:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1331:7:1", + "typeDescriptions": {} + } + }, + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1331:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1319:22:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 331, + "nodeType": "ExpressionStatement", + "src": "1319:22:1" + } + ] + }, + "id": 333, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "closeOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 323, + "nodeType": "ParameterList", + "parameters": [], + "src": "1301:2:1" + }, + "returnParameters": { + "id": 324, + "nodeType": "ParameterList", + "parameters": [], + "src": "1313:0:1" + }, + "scope": 364, + "src": "1282:64:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 362, + "nodeType": "Block", + "src": "1474:260:1", + "statements": [ + { + "assignments": [ + 347 + ], + "declarations": [ + { + "constant": false, + "id": 347, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "1480:17:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 346, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1480:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 349, + "initialValue": { + "id": 348, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 335, + "src": "1500:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1480:25:1" + }, + { + "assignments": [ + 351 + ], + "declarations": [ + { + "constant": false, + "id": 351, + "mutability": "mutable", + "name": "len", + "nodeType": "VariableDeclaration", + "scope": 362, + "src": "1511:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 350, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1511:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 354, + "initialValue": { + "expression": { + "id": 352, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 347, + "src": "1525:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1525:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1511:25:1" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1611:75:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1619:61:1", + "value": { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "1635:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1635:5:1" + }, + { + "name": "to", + "nodeType": "YulIdentifier", + "src": "1642:2:1" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1646:5:1" + }, + { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "1657:4:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1663:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1653:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "1653:15:1" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "1670:3:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1675:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1678:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "1630:4:1" + }, + "nodeType": "YulFunctionCall", + "src": "1630:50:1" + }, + "variableNames": [ + { + "name": "success", + "nodeType": "YulIdentifier", + "src": "1619:7:1" + } + ] + } + ] + }, + "evmVersion": "constantinople", + "externalReferences": [ + { + "declaration": 347, + "isOffset": false, + "isSlot": false, + "src": "1657:4:1", + "valueSize": 1 + }, + { + "declaration": 351, + "isOffset": false, + "isSlot": false, + "src": "1670:3:1", + "valueSize": 1 + }, + { + "declaration": 344, + "isOffset": false, + "isSlot": false, + "src": "1619:7:1", + "valueSize": 1 + }, + { + "declaration": 337, + "isOffset": false, + "isSlot": false, + "src": "1642:2:1", + "valueSize": 1 + }, + { + "declaration": 339, + "isOffset": false, + "isSlot": false, + "src": "1646:5:1", + "valueSize": 1 + } + ], + "id": 355, + "nodeType": "InlineAssembly", + "src": "1602:84:1" + }, + { + "eventCall": { + "arguments": [ + { + "id": 357, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 335, + "src": "1712:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 358, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 337, + "src": "1719:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 359, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "1723:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 356, + "name": "TransactionSent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 174, + "src": "1696:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes memory,address,uint256)" + } + }, + "id": 360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1696:33:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 361, + "nodeType": "EmitStatement", + "src": "1691:38:1" + } + ] + }, + "functionSelector": "bbc01857", + "id": 363, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 342, + "modifierName": { + "id": 341, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 213, + "src": "1437:7:1" + }, + "nodeType": "ModifierInvocation", + "src": "1437:7:1" + } + ], + "name": "sendTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 340, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 335, + "mutability": "mutable", + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "1375:18:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 334, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1375:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 337, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "1395:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 336, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1395:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 339, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "1407:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1407:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1374:47:1" + }, + "returnParameters": { + "id": 345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 344, + "mutability": "mutable", + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 363, + "src": "1458:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 343, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1458:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1457:14:1" + }, + "scope": 364, + "src": "1350:384:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 365, + "src": "58:1678:1" + } + ], + "src": "0:1737:1" + }, + "compiler": { + "name": "solc", + "version": "0.8.0+commit.c7dfd78e.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.3.4", + "updatedAt": "2021-03-19T12:54:02.448Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ProxyFactory.json b/packages/proxyIdentity/build/contracts/ProxyFactory.json deleted file mode 100644 index 67f5103f..00000000 --- a/packages/proxyIdentity/build/contracts/ProxyFactory.json +++ /dev/null @@ -1,3720 +0,0 @@ -{ - "contractName": "ProxyFactory", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_erc1056", - "type": "address" - }, - { - "internalType": "address", - "name": "_erc1155", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address[]", - "name": "newProxies", - "type": "address[]" - } - ], - "name": "BatchProxyCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "name": "ProxyCreated", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "serial", - "type": "string" - } - ], - "name": "create", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string[]", - "name": "serials", - "type": "string[]" - } - ], - "name": "createBatch", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_erc1056\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"newProxies\",\"type\":\"address[]\"}],\"name\":\"BatchProxyCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyCreated\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"serial\",\"type\":\"string\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"serials\",\"type\":\"string[]\"}],\"name\":\"createBatch\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyFactory.sol\":\"ProxyFactory\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyFactory.sol\":{\"keccak256\":\"0x5654f41de8b0dbc3300244b9f3fb215a30971486f6fbfbd7b0c52e3a4f51dd1e\",\"urls\":[\"bzz-raw://c5f5e26eb5e7fc766617e5e67e35d204a425b39f67f8be8f19c9bfaf488fc863\",\"dweb:/ipfs/QmSxKkVKKMchjo3H6GHVV8KTuC31R7LybJgSRbkaK4SNjR\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":{\"keccak256\":\"0xdf4dda59244973fb70bd0cb82914435443c07fce5e003b8158afd389c889d12a\",\"urls\":[\"bzz-raw://a6b786967673526b3ba93dec11153160479b028e9b435563b7b32bc4b62710f6\",\"dweb:/ipfs/QmQ7ibdezbEeg3qMH9eAuqvUaXaNcV7EJzKvZuDM7M4Yho\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol\":{\"keccak256\":\"0x65c692e6fdfbdc216d31f9f2a82ccd528126fc3a7fd2b30460696bef6890e57b\",\"urls\":[\"bzz-raw://8018e79ca78802e46722409d8e6eca2f364c255d97de988d3c39d951cfcb5f66\",\"dweb:/ipfs/QmTFsypNNX9thXu9jFX5WzLKD95ysLWwP2Pm6QHuiMcTPb\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":{\"keccak256\":\"0x4ef6482f64e22ea36be61c3eba61f85bed1fa75f83dcda5c4850697b5ed2c4d4\",\"urls\":[\"bzz-raw://e7550ccafd3c9e121a9d9a86e6246db33cf6a1917bf89fdd3dc35c3e539489b4\",\"dweb:/ipfs/QmQKsdE526BUTA4Xjo8FeTwmYQMWeXEUqHs392hLKeFZGn\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol\":{\"keccak256\":\"0x8b5247002651f1bcc2365b22051a9db517b4e4892d71594fd0adcea4a43ec678\",\"urls\":[\"bzz-raw://f7ddd00e7da49cbac08d2c3678b520875aee42c505ffde06e62c86f43f9da43a\",\"dweb:/ipfs/QmVBa6ocmrrLp3ak46hFHVGgL2GJq9z8VWvBX4GPyWYhrD\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5060405161350a38038061350a833981810160405261003291908101906100cf565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610154565b6000815190506100c98161013d565b92915050565b600080604083850312156100e257600080fd5b60006100f0858286016100ba565b9250506020610101858286016100ba565b9150509250929050565b60006101168261011d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6101468161010b565b811461015157600080fd5b50565b6133a7806101636000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c80633b75a8b7146200003f578063b6a46b3b1462000075575b600080fd5b6200005d6004803603620000579190810190620004fd565b620000ab565b6040516200006c9190620007a2565b60405180910390f35b6200009360048036036200008d919081019062000542565b6200028c565b604051620000a29190620006c0565b60405180910390f35b6060808251604051908082528060200260200182016040528015620000df5781602001602082028038833980820191505090505b50905060008090505b8351811015620002495760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168684815181106200014657fe5b6020026020010151336040516200015d90620003ba565b6200016c94939291906200074e565b604051809103906000f08015801562000189573d6000803e3d6000fd5b50905060028190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050808383815181106200020057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050508080600101915050620000e8565b507f9e57bd86fba2f0fb352492e1e64ce9fd28985df8e5764ca9533151946ae345a4816040516200027b9190620007a2565b60405180910390a180915050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168433604051620002e490620003ba565b620002f39493929190620006fa565b604051809103906000f08015801562000310573d6000803e3d6000fd5b50905060028190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507efffc2da0b561cae30d9826d37709e9421c4725faebc226cbbb7ef5fc5e734981604051620003a99190620006dd565b60405180910390a180915050919050565b6129c7806200099e83390190565b600082601f830112620003da57600080fd5b8135620003f1620003eb82620007f4565b620007c6565b9150818183526020840193506020810190508360005b838110156200043b578135860162000420888262000445565b84526020840193506020830192505060018101905062000407565b5050505092915050565b600082601f8301126200045757600080fd5b81356200046e62000468826200081d565b620007c6565b915080825260208301602083018583830111156200048b57600080fd5b6200049883828462000947565b50505092915050565b600082601f830112620004b357600080fd5b8135620004ca620004c4826200084a565b620007c6565b91508082526020830160208301858383011115620004e757600080fd5b620004f483828462000947565b50505092915050565b6000602082840312156200051057600080fd5b600082013567ffffffffffffffff8111156200052b57600080fd5b6200053984828501620003c8565b91505092915050565b6000602082840312156200055557600080fd5b600082013567ffffffffffffffff8111156200057057600080fd5b6200057e84828501620004a1565b91505092915050565b6000620005958383620005b2565b60208301905092915050565b620005ac816200090b565b82525050565b620005bd81620008d7565b82525050565b620005ce81620008d7565b82525050565b6000620005e18262000887565b620005ed8185620008b5565b9350620005fa8362000877565b8060005b838110156200063157815162000615888262000587565b97506200062283620008a8565b925050600181019050620005fe565b5085935050505092915050565b60006200064b826200089d565b620006578185620008c6565b93506200066981856020860162000956565b62000674816200098c565b840191505092915050565b60006200068c8262000892565b620006988185620008c6565b9350620006aa81856020860162000956565b620006b5816200098c565b840191505092915050565b6000602082019050620006d76000830184620005c3565b92915050565b6000602082019050620006f46000830184620005a1565b92915050565b6000608082019050620007116000830187620005c3565b620007206020830186620005c3565b81810360408301526200073481856200063e565b9050620007456060830184620005a1565b95945050505050565b6000608082019050620007656000830187620005c3565b620007746020830186620005c3565b81810360408301526200078881856200067f565b9050620007996060830184620005a1565b95945050505050565b60006020820190508181036000830152620007be8184620005d4565b905092915050565b6000604051905081810181811067ffffffffffffffff82111715620007ea57600080fd5b8060405250919050565b600067ffffffffffffffff8211156200080c57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156200083557600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff8211156200086257600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000620008e482620008eb565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000918826200091f565b9050919050565b60006200092c8262000933565b9050919050565b60006200094082620008eb565b9050919050565b82818337600083830152505050565b60005b838110156200097657808201518184015260208101905062000959565b8381111562000986576000848401525b50505050565b6000601f19601f830116905091905056fe60806040527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6005553480156200003557600080fd5b50604051620029c7380380620029c7833981810160405260808110156200005b57600080fd5b810190808051906020019092919080519060200190929190805160405193929190846401000000008211156200009057600080fd5b83820191506020820185811115620000a757600080fd5b8251866001820283011164010000000082111715620000c557600080fd5b8083526020830192505050908051906020019080838360005b83811015620000fb578082015181840152602081019050620000de565b50505050905090810190601f168015620001295780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e9080519060200190620001d792919062000491565b5080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16639f181b5e6040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a057600080fd5b505afa158015620002b5573d6000803e3d6000fd5b505050506040513d6020811015620002cc57600080fd5b8101908080519060200190929190505050600f819055508273ffffffffffffffffffffffffffffffffffffffff1663a0712d68600f546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200033957600080fd5b505af11580156200034e573d6000803e3d6000fd5b5050505062000363816200036d60201b60201c565b5050505062000540565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156200047557600080fd5b505af11580156200048a573d6000803e3d6000fd5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004d457805160ff191683800117855562000505565b8280016001018555821562000505579182015b8281111562000504578251825591602001919060010190620004e7565b5b50905062000514919062000518565b5090565b6200053d91905b80821115620005395760008160009055506001016200051f565b5090565b90565b61247780620005506000396000f3fe6080604052600436106101355760003560e01c8063a6f9dae1116100ab578063d56022d71161006f578063d56022d714610ac2578063e71bdf4114610b19578063eac989f814610b6a578063f23a6e6114610bfa578063f6d713dd14610d26578063fa352c0014610db657610135565b8063a6f9dae11461074e578063ad9ec05d1461079f578063af640d0f146107f0578063bbc018571461081b578063bc197c811461090057610135565b80634c123019116100fd5780634c123019146103ca578063513856c8146104f4578063570b3c6a1461056f578063673448dd1461063757806384eb68fb146106a05780638da5cb5b146106f757610135565b806301ffc9a71461013757806302d05d3f146101a9578063061f7650146102005780630eb930ab146102695780632c39952a146102ba575b005b34801561014357600080fd5b5061018f6004803603602081101561015a57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610e07565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101be610eb8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020c57600080fd5b5061024f6004803603602081101561022357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee9565b005b6103c8600480360360e08110156102d057600080fd5b81019080803590602001906401000000008111156102ed57600080fd5b8201836020820111156102ff57600080fd5b8035906020019184600183028401116401000000008311171561032157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611103565b005b3480156103d657600080fd5b506104da600480360360808110156103ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561045457600080fd5b82018360208201111561046657600080fd5b8035906020019184600183028401116401000000008311171561048857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611489565b604051808215151515815260200191505060405180910390f35b34801561050057600080fd5b5061052d6004803603602081101561051757600080fd5b8101908080359060200190929190505050611676565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057b57600080fd5b506106356004803603602081101561059257600080fd5b81019080803590602001906401000000008111156105af57600080fd5b8201836020820111156105c157600080fd5b803590602001918460018302840111640100000000831117156105e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506116b2565b005b34801561064357600080fd5b506106866004803603602081101561065a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b604051808215151515815260200191505060405180910390f35b3480156106ac57600080fd5b506106b56117d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070357600080fd5b5061070c6117f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075a57600080fd5b5061079d6004803603602081101561077157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061181c565b005b3480156107ab57600080fd5b506107ee600480360360208110156107c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611958565b005b3480156107fc57600080fd5b50610805611b72565b6040518082815260200191505060405180910390f35b6108fe6004803603606081101561083157600080fd5b810190808035906020019064010000000081111561084e57600080fd5b82018360208201111561086057600080fd5b8035906020019184600183028401116401000000008311171561088257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b78565b005b34801561090c57600080fd5b50610a6e600480360360a081101561092357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111640100000000831117156109b457600080fd5b9091929391929390803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846020830284011164010000000083111715610a0957600080fd5b909192939192939080359060200190640100000000811115610a2a57600080fd5b820183602082011115610a3c57600080fd5b80359060200191846001830284011164010000000083111715610a5e57600080fd5b9091929391929390505050611cbc565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610ace57600080fd5b50610ad7611cd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b2557600080fd5b50610b6860048036036020811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfa565b005b348015610b7657600080fd5b50610b7f611dc8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bbf578082015181840152602081019050610ba4565b50505050905090810190601f168015610bec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c0657600080fd5b50610cd2600480360360a0811015610c1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610c8e57600080fd5b820183602082011115610ca057600080fd5b80359060200191846001830284011164010000000083111715610cc257600080fd5b9091929391929390505050611f3d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610d3257600080fd5b50610d3b611f53565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d7b578082015181840152602081019050610d60565b50505050905090810190601f168015610da85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610dc257600080fd5b50610e0560048036036020811015610dd957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff1565b005b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ea05750634e2312e060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610eae5760019050610eb3565b600090505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f8d5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610fe2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260016040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156110e857600080fd5b505af11580156110fc573d6000803e3d6000fd5b5050505050565b60008787848460405160200180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561118a57808201518184015260208101905061116f565b50505050905090810190601f1680156111b75780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050600015156006600083815260200190815260200160002060009054906101000a900460ff16151514611254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123ea6026913960400191505060405180910390fd5b60016006600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611332573d6000803e3d6000fd5b5050506020604051035190506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5369676e6174757265206973206e6f742076616c69640000000000000000000081525060200191505060405180910390fd5b61140b8a8a876121cb565b61147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b50505050505050505050565b600061149433610ede565b6114a1576000905061166e565b6001600d60006101000a81548160ff02191690831515021790555060003073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061150957805182526020820191506020810190506020830392506114e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611569576040519150601f19603f3d011682016040523d82523d6000602084013e61156e565b606091505b505090506000600d60006101000a81548160ff0219169083151502179055507feab9f6c333c4c219217a67230a9af8a2e860061556fa026945860d2c885d60fe8382336040518080602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561162d578082015181840152602081019050611612565b50505050905090810190601f16801561165a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1809150505b949350505050565b6002818154811061168357fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305751204600f54836040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561174957808201518184015260208101905061172e565b50505050905090810190601f1680156117765780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b5050505050565b60106020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118c05750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611915576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119fc5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b5050505050565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611c458383836121cb565b611cb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b505050565b600063bc197c8160e01b905098975050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611dc5816122c7565b50565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e89341c600f546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611e3f57600080fd5b505afa158015611e53573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015611e7d57600080fd5b8101908080516040519392919084640100000000821115611e9d57600080fd5b83820191506020820185811115611eb357600080fd5b8251866001820283011164010000000082111715611ed057600080fd5b8083526020830192505050908051906020019080838360005b83811015611f04578082015181840152602081019050611ee9565b50505050905090810190601f168015611f315780820380516001836020036101000a031916815260200191505b50604052505050905090565b600063f23a6e6160e01b90509695505050505050565b600e8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fe95780601f10611fbe57610100808354040283529160200191611fe9565b820191906000526020600020905b815481529060010190602001808311611fcc57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380b29f7c30836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156121b057600080fd5b505af11580156121c4573d6000803e3d6000fd5b5050505050565b60006060849050600081519050600080826020850187895af192507f7e4155ee9daec547578a255f7495bc08f38796f4d4a3be4ed7189f4fc55cb18586868660405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015612282578082015181840152602081019050612267565b50505050905090810190601f1680156122af5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156123ce57600080fd5b505af11580156123e2573d6000803e3d6000fd5b505050505056fe54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e7450726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564a265627a7a7231582006c8e52c04b4db6cf1431c7d94ec5ff14dc54062ecaf15d5c5327f343768857364736f6c63430005110032a365627a7a723158202fba2c1156e8563b6fe86e6436e6a90f2dba54756b65c4f3ade5f22036bd4d8e6c6578706572696d656e74616cf564736f6c63430005110040", - "deployedBytecode": "0x60806040523480156200001157600080fd5b50600436106200003a5760003560e01c80633b75a8b7146200003f578063b6a46b3b1462000075575b600080fd5b6200005d6004803603620000579190810190620004fd565b620000ab565b6040516200006c9190620007a2565b60405180910390f35b6200009360048036036200008d919081019062000542565b6200028c565b604051620000a29190620006c0565b60405180910390f35b6060808251604051908082528060200260200182016040528015620000df5781602001602082028038833980820191505090505b50905060008090505b8351811015620002495760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168684815181106200014657fe5b6020026020010151336040516200015d90620003ba565b6200016c94939291906200074e565b604051809103906000f08015801562000189573d6000803e3d6000fd5b50905060028190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050808383815181106200020057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050508080600101915050620000e8565b507f9e57bd86fba2f0fb352492e1e64ce9fd28985df8e5764ca9533151946ae345a4816040516200027b9190620007a2565b60405180910390a180915050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168433604051620002e490620003ba565b620002f39493929190620006fa565b604051809103906000f08015801562000310573d6000803e3d6000fd5b50905060028190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507efffc2da0b561cae30d9826d37709e9421c4725faebc226cbbb7ef5fc5e734981604051620003a99190620006dd565b60405180910390a180915050919050565b6129c7806200099e83390190565b600082601f830112620003da57600080fd5b8135620003f1620003eb82620007f4565b620007c6565b9150818183526020840193506020810190508360005b838110156200043b578135860162000420888262000445565b84526020840193506020830192505060018101905062000407565b5050505092915050565b600082601f8301126200045757600080fd5b81356200046e62000468826200081d565b620007c6565b915080825260208301602083018583830111156200048b57600080fd5b6200049883828462000947565b50505092915050565b600082601f830112620004b357600080fd5b8135620004ca620004c4826200084a565b620007c6565b91508082526020830160208301858383011115620004e757600080fd5b620004f483828462000947565b50505092915050565b6000602082840312156200051057600080fd5b600082013567ffffffffffffffff8111156200052b57600080fd5b6200053984828501620003c8565b91505092915050565b6000602082840312156200055557600080fd5b600082013567ffffffffffffffff8111156200057057600080fd5b6200057e84828501620004a1565b91505092915050565b6000620005958383620005b2565b60208301905092915050565b620005ac816200090b565b82525050565b620005bd81620008d7565b82525050565b620005ce81620008d7565b82525050565b6000620005e18262000887565b620005ed8185620008b5565b9350620005fa8362000877565b8060005b838110156200063157815162000615888262000587565b97506200062283620008a8565b925050600181019050620005fe565b5085935050505092915050565b60006200064b826200089d565b620006578185620008c6565b93506200066981856020860162000956565b62000674816200098c565b840191505092915050565b60006200068c8262000892565b620006988185620008c6565b9350620006aa81856020860162000956565b620006b5816200098c565b840191505092915050565b6000602082019050620006d76000830184620005c3565b92915050565b6000602082019050620006f46000830184620005a1565b92915050565b6000608082019050620007116000830187620005c3565b620007206020830186620005c3565b81810360408301526200073481856200063e565b9050620007456060830184620005a1565b95945050505050565b6000608082019050620007656000830187620005c3565b620007746020830186620005c3565b81810360408301526200078881856200067f565b9050620007996060830184620005a1565b95945050505050565b60006020820190508181036000830152620007be8184620005d4565b905092915050565b6000604051905081810181811067ffffffffffffffff82111715620007ea57600080fd5b8060405250919050565b600067ffffffffffffffff8211156200080c57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156200083557600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff8211156200086257600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000620008e482620008eb565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000918826200091f565b9050919050565b60006200092c8262000933565b9050919050565b60006200094082620008eb565b9050919050565b82818337600083830152505050565b60005b838110156200097657808201518184015260208101905062000959565b8381111562000986576000848401525b50505050565b6000601f19601f830116905091905056fe60806040527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6005553480156200003557600080fd5b50604051620029c7380380620029c7833981810160405260808110156200005b57600080fd5b810190808051906020019092919080519060200190929190805160405193929190846401000000008211156200009057600080fd5b83820191506020820185811115620000a757600080fd5b8251866001820283011164010000000082111715620000c557600080fd5b8083526020830192505050908051906020019080838360005b83811015620000fb578082015181840152602081019050620000de565b50505050905090810190601f168015620001295780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e9080519060200190620001d792919062000491565b5080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16639f181b5e6040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a057600080fd5b505afa158015620002b5573d6000803e3d6000fd5b505050506040513d6020811015620002cc57600080fd5b8101908080519060200190929190505050600f819055508273ffffffffffffffffffffffffffffffffffffffff1663a0712d68600f546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200033957600080fd5b505af11580156200034e573d6000803e3d6000fd5b5050505062000363816200036d60201b60201c565b5050505062000540565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156200047557600080fd5b505af11580156200048a573d6000803e3d6000fd5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004d457805160ff191683800117855562000505565b8280016001018555821562000505579182015b8281111562000504578251825591602001919060010190620004e7565b5b50905062000514919062000518565b5090565b6200053d91905b80821115620005395760008160009055506001016200051f565b5090565b90565b61247780620005506000396000f3fe6080604052600436106101355760003560e01c8063a6f9dae1116100ab578063d56022d71161006f578063d56022d714610ac2578063e71bdf4114610b19578063eac989f814610b6a578063f23a6e6114610bfa578063f6d713dd14610d26578063fa352c0014610db657610135565b8063a6f9dae11461074e578063ad9ec05d1461079f578063af640d0f146107f0578063bbc018571461081b578063bc197c811461090057610135565b80634c123019116100fd5780634c123019146103ca578063513856c8146104f4578063570b3c6a1461056f578063673448dd1461063757806384eb68fb146106a05780638da5cb5b146106f757610135565b806301ffc9a71461013757806302d05d3f146101a9578063061f7650146102005780630eb930ab146102695780632c39952a146102ba575b005b34801561014357600080fd5b5061018f6004803603602081101561015a57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610e07565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101be610eb8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020c57600080fd5b5061024f6004803603602081101561022357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee9565b005b6103c8600480360360e08110156102d057600080fd5b81019080803590602001906401000000008111156102ed57600080fd5b8201836020820111156102ff57600080fd5b8035906020019184600183028401116401000000008311171561032157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611103565b005b3480156103d657600080fd5b506104da600480360360808110156103ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561045457600080fd5b82018360208201111561046657600080fd5b8035906020019184600183028401116401000000008311171561048857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611489565b604051808215151515815260200191505060405180910390f35b34801561050057600080fd5b5061052d6004803603602081101561051757600080fd5b8101908080359060200190929190505050611676565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057b57600080fd5b506106356004803603602081101561059257600080fd5b81019080803590602001906401000000008111156105af57600080fd5b8201836020820111156105c157600080fd5b803590602001918460018302840111640100000000831117156105e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506116b2565b005b34801561064357600080fd5b506106866004803603602081101561065a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b604051808215151515815260200191505060405180910390f35b3480156106ac57600080fd5b506106b56117d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070357600080fd5b5061070c6117f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075a57600080fd5b5061079d6004803603602081101561077157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061181c565b005b3480156107ab57600080fd5b506107ee600480360360208110156107c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611958565b005b3480156107fc57600080fd5b50610805611b72565b6040518082815260200191505060405180910390f35b6108fe6004803603606081101561083157600080fd5b810190808035906020019064010000000081111561084e57600080fd5b82018360208201111561086057600080fd5b8035906020019184600183028401116401000000008311171561088257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b78565b005b34801561090c57600080fd5b50610a6e600480360360a081101561092357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111640100000000831117156109b457600080fd5b9091929391929390803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846020830284011164010000000083111715610a0957600080fd5b909192939192939080359060200190640100000000811115610a2a57600080fd5b820183602082011115610a3c57600080fd5b80359060200191846001830284011164010000000083111715610a5e57600080fd5b9091929391929390505050611cbc565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610ace57600080fd5b50610ad7611cd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b2557600080fd5b50610b6860048036036020811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfa565b005b348015610b7657600080fd5b50610b7f611dc8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bbf578082015181840152602081019050610ba4565b50505050905090810190601f168015610bec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c0657600080fd5b50610cd2600480360360a0811015610c1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610c8e57600080fd5b820183602082011115610ca057600080fd5b80359060200191846001830284011164010000000083111715610cc257600080fd5b9091929391929390505050611f3d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610d3257600080fd5b50610d3b611f53565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d7b578082015181840152602081019050610d60565b50505050905090810190601f168015610da85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610dc257600080fd5b50610e0560048036036020811015610dd957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff1565b005b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ea05750634e2312e060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610eae5760019050610eb3565b600090505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f8d5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610fe2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260016040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156110e857600080fd5b505af11580156110fc573d6000803e3d6000fd5b5050505050565b60008787848460405160200180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561118a57808201518184015260208101905061116f565b50505050905090810190601f1680156111b75780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050600015156006600083815260200190815260200160002060009054906101000a900460ff16151514611254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123ea6026913960400191505060405180910390fd5b60016006600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611332573d6000803e3d6000fd5b5050506020604051035190506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5369676e6174757265206973206e6f742076616c69640000000000000000000081525060200191505060405180910390fd5b61140b8a8a876121cb565b61147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b50505050505050505050565b600061149433610ede565b6114a1576000905061166e565b6001600d60006101000a81548160ff02191690831515021790555060003073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061150957805182526020820191506020810190506020830392506114e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611569576040519150601f19603f3d011682016040523d82523d6000602084013e61156e565b606091505b505090506000600d60006101000a81548160ff0219169083151502179055507feab9f6c333c4c219217a67230a9af8a2e860061556fa026945860d2c885d60fe8382336040518080602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561162d578082015181840152602081019050611612565b50505050905090810190601f16801561165a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1809150505b949350505050565b6002818154811061168357fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305751204600f54836040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561174957808201518184015260208101905061172e565b50505050905090810190601f1680156117765780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b5050505050565b60106020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118c05750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611915576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119fc5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b5050505050565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611c458383836121cb565b611cb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b505050565b600063bc197c8160e01b905098975050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611dc5816122c7565b50565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e89341c600f546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611e3f57600080fd5b505afa158015611e53573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015611e7d57600080fd5b8101908080516040519392919084640100000000821115611e9d57600080fd5b83820191506020820185811115611eb357600080fd5b8251866001820283011164010000000082111715611ed057600080fd5b8083526020830192505050908051906020019080838360005b83811015611f04578082015181840152602081019050611ee9565b50505050905090810190601f168015611f315780820380516001836020036101000a031916815260200191505b50604052505050905090565b600063f23a6e6160e01b90509695505050505050565b600e8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fe95780601f10611fbe57610100808354040283529160200191611fe9565b820191906000526020600020905b815481529060010190602001808311611fcc57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380b29f7c30836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156121b057600080fd5b505af11580156121c4573d6000803e3d6000fd5b5050505050565b60006060849050600081519050600080826020850187895af192507f7e4155ee9daec547578a255f7495bc08f38796f4d4a3be4ed7189f4fc55cb18586868660405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015612282578082015181840152602081019050612267565b50505050905090810190601f1680156122af5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156123ce57600080fd5b505af11580156123e2573d6000803e3d6000fd5b505050505056fe54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e7450726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564a265627a7a7231582006c8e52c04b4db6cf1431c7d94ec5ff14dc54062ecaf15d5c5327f343768857364736f6c63430005110032a365627a7a723158202fba2c1156e8563b6fe86e6436e6a90f2dba54756b65c4f3ade5f22036bd4d8e6c6578706572696d656e74616cf564736f6c63430005110040", - "sourceMap": "111:1073:2:-;;;342:118;8:9:-1;5:2;;;30:1;27;20:12;5:2;342:118:2;;;;;;;;;;;;;;;;;;;;;;;;417:8;407:7;;:18;;;;;;;;;;;;;;;;;;445:8;435:7;;:18;;;;;;;;;;;;;;;;;;342:118;;111:1073;;5:134:-1;;89:6;83:13;74:22;;101:33;128:5;101:33;;;68:71;;;;;146:399;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;393:6;382:9;378:22;346:64;;;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;;;455:74;;426:109;240:305;;;;;;552:91;;614:24;632:5;614:24;;;603:35;;597:46;;;;650:121;;723:42;716:5;712:54;701:65;;695:76;;;;778:117;847:24;865:5;847:24;;;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;;111:1073:2;;;;;;;", - "deployedSourceMap": "111:1073:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;111:1073:2;;;;;;;;;;;;;;;;;;;;;;;;736:446;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;466:260;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;736:446;798:16;824:27;868:7;:14;854:29;;;;;;;;;;;;;;;;;;;;;;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;854:29:2;;;;824:59;;896:9;908:1;896:13;;891:214;915:7;:14;911:1;:18;891:214;;;946:19;986:7;;;;;;;;;;;995;;;;;;;;;;;1004;1012:1;1004:10;;;;;;;;;;;;;;1016;968:59;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;968:59:2;946:81;;1037:7;1050:5;1037:19;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1037:19:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1090:5;1066:10;1077:1;1066:13;;;;;;;;;;;;;:30;;;;;;;;;;;891:214;931:3;;;;;;;891:214;;;;1119:29;1137:10;1119:29;;;;;;;;;;;;;;;1165:10;1158:17;;;736:446;;;:::o;466:260::-;520:7;539:19;579:7;;;;;;;;;;;588;;;;;;;;;;;597:6;605:10;561:55;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;561:55:2;539:77;;626:7;639:5;626:19;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;626:19:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;660:28;681:5;660:28;;;;;;;;;;;;;;;713:5;698:21;;;466:260;;;:::o;111:1073::-;;;;;;;;:::o;22:696:-1:-;;145:3;138:4;130:6;126:17;122:27;112:2;;163:1;160;153:12;112:2;200:6;187:20;222:86;237:70;300:6;237:70;;;222:86;;;213:95;;325:5;350:6;343:5;336:21;380:4;372:6;368:17;358:27;;402:4;397:3;393:14;386:21;;455:6;488:1;473:239;498:6;495:1;492:13;473:239;;;581:3;568:17;560:6;556:30;605:43;644:3;632:10;605:43;;;600:3;593:56;672:4;667:3;663:14;656:21;;700:4;695:3;691:14;684:21;;530:182;520:1;517;513:9;508:14;;473:239;;;477:14;105:613;;;;;;;;727:434;;825:3;818:4;810:6;806:17;802:27;792:2;;843:1;840;833:12;792:2;880:6;867:20;902:61;917:45;955:6;917:45;;;902:61;;;893:70;;983:6;976:5;969:21;1019:4;1011:6;1007:17;1052:4;1045:5;1041:16;1087:3;1078:6;1073:3;1069:16;1066:25;1063:2;;;1104:1;1101;1094:12;1063:2;1114:41;1148:6;1143:3;1138;1114:41;;;785:376;;;;;;;;1170:442;;1272:3;1265:4;1257:6;1253:17;1249:27;1239:2;;1290:1;1287;1280:12;1239:2;1327:6;1314:20;1349:65;1364:49;1406:6;1364:49;;;1349:65;;;1340:74;;1434:6;1427:5;1420:21;1470:4;1462:6;1458:17;1503:4;1496:5;1492:16;1538:3;1529:6;1524:3;1520:16;1517:25;1514:2;;;1555:1;1552;1545:12;1514:2;1565:41;1599:6;1594:3;1589;1565:41;;;1232:380;;;;;;;;1620:389;;1755:2;1743:9;1734:7;1730:23;1726:32;1723:2;;;1771:1;1768;1761:12;1723:2;1834:1;1823:9;1819:17;1806:31;1857:18;1849:6;1846:30;1843:2;;;1889:1;1886;1879:12;1843:2;1909:84;1985:7;1976:6;1965:9;1961:22;1909:84;;;1899:94;;1785:214;1717:292;;;;;2016:347;;2130:2;2118:9;2109:7;2105:23;2101:32;2098:2;;;2146:1;2143;2136:12;2098:2;2209:1;2198:9;2194:17;2181:31;2232:18;2224:6;2221:30;2218:2;;;2264:1;2261;2254:12;2218:2;2284:63;2339:7;2330:6;2319:9;2315:22;2284:63;;;2274:73;;2160:193;2092:271;;;;;2371:173;;2458:46;2500:3;2492:6;2458:46;;;2533:4;2528:3;2524:14;2510:28;;2451:93;;;;;2552:142;2643:45;2682:5;2643:45;;;2638:3;2631:58;2625:69;;;2701:103;2774:24;2792:5;2774:24;;;2769:3;2762:37;2756:48;;;2811:113;2894:24;2912:5;2894:24;;;2889:3;2882:37;2876:48;;;2962:690;;3107:54;3155:5;3107:54;;;3174:86;3253:6;3248:3;3174:86;;;3167:93;;3281:56;3331:5;3281:56;;;3357:7;3385:1;3370:260;3395:6;3392:1;3389:13;3370:260;;;3462:6;3456:13;3483:63;3542:3;3527:13;3483:63;;;3476:70;;3563:60;3616:6;3563:60;;;3553:70;;3427:203;3417:1;3414;3410:9;3405:14;;3370:260;;;3374:14;3643:3;3636:10;;3086:566;;;;;;;;3660:347;;3772:39;3805:5;3772:39;;;3823:71;3887:6;3882:3;3823:71;;;3816:78;;3899:52;3944:6;3939:3;3932:4;3925:5;3921:16;3899:52;;;3972:29;3994:6;3972:29;;;3967:3;3963:39;3956:46;;3752:255;;;;;;4014:339;;4122:35;4151:5;4122:35;;;4169:71;4233:6;4228:3;4169:71;;;4162:78;;4245:52;4290:6;4285:3;4278:4;4271:5;4267:16;4245:52;;;4318:29;4340:6;4318:29;;;4313:3;4309:39;4302:46;;4102:251;;;;;;4360:213;;4478:2;4467:9;4463:18;4455:26;;4492:71;4560:1;4549:9;4545:17;4536:6;4492:71;;;4449:124;;;;;4580:229;;4706:2;4695:9;4691:18;4683:26;;4720:79;4796:1;4785:9;4781:17;4772:6;4720:79;;;4677:132;;;;;4816:651;;5046:3;5035:9;5031:19;5023:27;;5061:71;5129:1;5118:9;5114:17;5105:6;5061:71;;;5143:72;5211:2;5200:9;5196:18;5187:6;5143:72;;;5263:9;5257:4;5253:20;5248:2;5237:9;5233:18;5226:48;5288:78;5361:4;5352:6;5288:78;;;5280:86;;5377:80;5453:2;5442:9;5438:18;5429:6;5377:80;;;5017:450;;;;;;;;5474:643;;5700:3;5689:9;5685:19;5677:27;;5715:71;5783:1;5772:9;5768:17;5759:6;5715:71;;;5797:72;5865:2;5854:9;5850:18;5841:6;5797:72;;;5917:9;5911:4;5907:20;5902:2;5891:9;5887:18;5880:48;5942:74;6011:4;6002:6;5942:74;;;5934:82;;6027:80;6103:2;6092:9;6088:18;6079:6;6027:80;;;5671:446;;;;;;;;6124:361;;6292:2;6281:9;6277:18;6269:26;;6342:9;6336:4;6332:20;6328:1;6317:9;6313:17;6306:47;6367:108;6470:4;6461:6;6367:108;;;6359:116;;6263:222;;;;;6492:256;;6554:2;6548:9;6538:19;;6592:4;6584:6;6580:17;6691:6;6679:10;6676:22;6655:18;6643:10;6640:34;6637:62;6634:2;;;6712:1;6709;6702:12;6634:2;6732:10;6728:2;6721:22;6532:216;;;;;6755:310;;6920:18;6912:6;6909:30;6906:2;;;6952:1;6949;6942:12;6906:2;6987:4;6979:6;6975:17;6967:25;;7050:4;7044;7040:15;7032:23;;6843:222;;;;7072:318;;7212:18;7204:6;7201:30;7198:2;;;7244:1;7241;7234:12;7198:2;7311:4;7307:9;7300:4;7292:6;7288:17;7284:33;7276:41;;7375:4;7369;7365:15;7357:23;;7135:255;;;;7397:322;;7541:18;7533:6;7530:30;7527:2;;;7573:1;7570;7563:12;7527:2;7640:4;7636:9;7629:4;7621:6;7617:17;7613:33;7605:41;;7704:4;7698;7694:15;7686:23;;7464:255;;;;7726:151;;7812:3;7804:11;;7850:4;7845:3;7841:14;7833:22;;7798:79;;;;7884:137;;7993:5;7987:12;7977:22;;7958:63;;;;8028:118;;8118:5;8112:12;8102:22;;8083:63;;;;8153:122;;8247:5;8241:12;8231:22;;8212:63;;;;8282:108;;8380:4;8375:3;8371:14;8363:22;;8357:33;;;;8398:178;;8528:6;8523:3;8516:19;8565:4;8560:3;8556:14;8541:29;;8509:67;;;;;8585:163;;8700:6;8695:3;8688:19;8737:4;8732:3;8728:14;8713:29;;8681:67;;;;;8756:91;;8818:24;8836:5;8818:24;;;8807:35;;8801:46;;;;8854:121;;8927:42;8920:5;8916:54;8905:65;;8899:76;;;;8982:129;;9069:37;9100:5;9069:37;;;9056:50;;9050:61;;;;9118:121;;9197:37;9228:5;9197:37;;;9184:50;;9178:61;;;;9246:108;;9325:24;9343:5;9325:24;;;9312:37;;9306:48;;;;9362:145;9443:6;9438:3;9433;9420:30;9499:1;9490:6;9485:3;9481:16;9474:27;9413:94;;;;9516:268;9581:1;9588:101;9602:6;9599:1;9596:13;9588:101;;;9678:1;9673:3;9669:11;9663:18;9659:1;9654:3;9650:11;9643:39;9624:2;9621:1;9617:10;9612:15;;9588:101;;;9704:6;9701:1;9698:13;9695:2;;;9769:1;9760:6;9755:3;9751:16;9744:27;9695:2;9565:219;;;;;9792:97;;9880:2;9876:7;9871:2;9864:5;9860:14;9856:28;9846:38;;9840:49;;;", - "source": "pragma solidity ^0.5.0;\npragma experimental ABIEncoderV2;\n\nimport {ProxyIdentity} from \"./proxyIdentity.sol\";\n\ncontract ProxyFactory {\n address erc1056;\n address erc1155;\n ProxyIdentity[] proxies;\n mapping(address => bool) identities;\n event ProxyCreated(address proxy);\n event BatchProxyCreated(address[] newProxies);\n\n constructor(address _erc1056, address _erc1155) public {\n erc1056 = _erc1056;\n erc1155 = _erc1155;\n }\n\n function create(string memory serial) public returns (address) {\n ProxyIdentity proxy = new ProxyIdentity(erc1056, erc1155, serial, msg.sender);\n proxies.push(proxy);\n emit ProxyCreated(address(proxy));\n return address(proxy);\n }\n \n function createBatch(string[] memory serials) public returns (address[] memory) {\n address[] memory newProxies = new address[](serials.length);\n for (uint256 i = 0; i < serials.length; i++) {\n ProxyIdentity proxy = new ProxyIdentity(erc1056, erc1155, serials[i], msg.sender);\n proxies.push(proxy);\n newProxies[i] = address(proxy);\n }\n emit BatchProxyCreated(newProxies);\n return newProxies;\n }\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyFactory.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyFactory.sol", - "exportedSymbols": { - "ProxyFactory": [ - 187 - ] - }, - "id": 188, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 45, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:2" - }, - { - "id": 46, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "24:33:2" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "file": "./proxyIdentity.sol", - "id": 48, - "nodeType": "ImportDirective", - "scope": 188, - "sourceUnit": 840, - "src": "59:50:2", - "symbolAliases": [ - { - "foreign": 47, - "local": null - } - ], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [ - 839 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 187, - "linearizedBaseContracts": [ - 187 - ], - "name": "ProxyFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 50, - "name": "erc1056", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "139:15:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 49, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "139:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 52, - "name": "erc1155", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "160:15:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 51, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "160:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 55, - "name": "proxies", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "181:23:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 53, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "181:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "id": 54, - "length": null, - "nodeType": "ArrayTypeName", - "src": "181:15:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage_ptr", - "typeString": "contract ProxyIdentity[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 59, - "name": "identities", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "210:35:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 58, - "keyType": { - "id": 56, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "210:24:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 57, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "229:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 63, - "name": "ProxyCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 62, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 61, - "indexed": false, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 63, - "src": "270:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "270:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "269:15:2" - }, - "src": "251:34:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 68, - "name": "BatchProxyCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 67, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 66, - "indexed": false, - "name": "newProxies", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "314:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 64, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "314:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 65, - "length": null, - "nodeType": "ArrayTypeName", - "src": "314:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "313:22:2" - }, - "src": "290:46:2" - }, - { - "body": { - "id": 83, - "nodeType": "Block", - "src": "397:63:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 75, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "407:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 76, - "name": "_erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "417:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "407:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 78, - "nodeType": "ExpressionStatement", - "src": "407:18:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 81, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 79, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "435:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 80, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "445:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "435:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82, - "nodeType": "ExpressionStatement", - "src": "435:18:2" - } - ] - }, - "documentation": null, - "id": 84, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 73, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 70, - "name": "_erc1056", - "nodeType": "VariableDeclaration", - "scope": 84, - "src": "354:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 69, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "354:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 72, - "name": "_erc1155", - "nodeType": "VariableDeclaration", - "scope": 84, - "src": "372:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 71, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "353:36:2" - }, - "returnParameters": { - "id": 74, - "nodeType": "ParameterList", - "parameters": [], - "src": "397:0:2" - }, - "scope": 187, - "src": "342:118:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 118, - "nodeType": "Block", - "src": "529:197:2", - "statements": [ - { - "assignments": [ - 92 - ], - "declarations": [ - { - "constant": false, - "id": 92, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 118, - "src": "539:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - }, - "typeName": { - "contractScope": null, - "id": 91, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "539:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 101, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 95, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "579:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 96, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "588:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 97, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "597:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 98, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "605:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 99, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "605:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "561:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_ProxyIdentity_$839_$", - "typeString": "function (address,address,string memory,address) returns (contract ProxyIdentity)" - }, - "typeName": { - "contractScope": null, - "id": 93, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "565:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - }, - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "561:55:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:77:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 105, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "639:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "expression": { - "argumentTypes": null, - "id": 102, - "name": "proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "626:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[] storage ref" - } - }, - "id": 104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "626:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_contract$_ProxyIdentity_$839_$returns$_t_uint256_$", - "typeString": "function (contract ProxyIdentity) returns (uint256)" - } - }, - "id": 106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "626:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 107, - "nodeType": "ExpressionStatement", - "src": "626:19:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 110, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "681:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "673:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "673:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 108, - "name": "ProxyCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "660:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:28:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 113, - "nodeType": "EmitStatement", - "src": "655:33:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 115, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "713:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "705:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "705:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 90, - "id": 117, - "nodeType": "Return", - "src": "698:21:2" - } - ] - }, - "documentation": null, - "id": 119, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "create", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 87, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 86, - "name": "serial", - "nodeType": "VariableDeclaration", - "scope": 119, - "src": "482:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 85, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "482:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:22:2" - }, - "returnParameters": { - "id": 90, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 89, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 119, - "src": "520:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "520:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "519:9:2" - }, - "scope": 187, - "src": "466:260:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 185, - "nodeType": "Block", - "src": "816:366:2", - "statements": [ - { - "assignments": [ - 131 - ], - "declarations": [ - { - "constant": false, - "id": 131, - "name": "newProxies", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "824:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "824:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 130, - "length": null, - "nodeType": "ArrayTypeName", - "src": "824:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 138, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 135, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "868:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "868:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "854:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "858:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 133, - "length": null, - "nodeType": "ArrayTypeName", - "src": "858:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "854:29:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "824:59:2" - }, - { - "body": { - "id": 177, - "nodeType": "Block", - "src": "936:169:2", - "statements": [ - { - "assignments": [ - 151 - ], - "declarations": [ - { - "constant": false, - "id": 151, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 177, - "src": "946:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - }, - "typeName": { - "contractScope": null, - "id": 150, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "946:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 162, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 154, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "986:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 155, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "995:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 156, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "1004:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 158, - "indexExpression": { - "argumentTypes": null, - "id": 157, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1012:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1004:10:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 159, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1016:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1016:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "968:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_ProxyIdentity_$839_$", - "typeString": "function (address,address,string memory,address) returns (contract ProxyIdentity)" - }, - "typeName": { - "contractScope": null, - "id": 152, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "972:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - }, - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "968:59:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "946:81:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 166, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "1050:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "expression": { - "argumentTypes": null, - "id": 163, - "name": "proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1037:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[] storage ref" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1037:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_contract$_ProxyIdentity_$839_$returns$_t_uint256_$", - "typeString": "function (contract ProxyIdentity) returns (uint256)" - } - }, - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1037:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 168, - "nodeType": "ExpressionStatement", - "src": "1037:19:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 169, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1066:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 171, - "indexExpression": { - "argumentTypes": null, - "id": 170, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1077:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1066:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 173, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "1090:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1082:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1082:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1066:30:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 176, - "nodeType": "ExpressionStatement", - "src": "1066:30:2" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "911:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 144, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "915:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "915:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "911:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 178, - "initializationExpression": { - "assignments": [ - 140 - ], - "declarations": [ - { - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 178, - "src": "896:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "896:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 142, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "908:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "896:13:2" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "931:3:2", - "subExpression": { - "argumentTypes": null, - "id": 147, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "931:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 149, - "nodeType": "ExpressionStatement", - "src": "931:3:2" - }, - "nodeType": "ForStatement", - "src": "891:214:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 180, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1137:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 179, - "name": "BatchProxyCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1119:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address[] memory)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1119:29:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 182, - "nodeType": "EmitStatement", - "src": "1114:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 183, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1165:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "functionReturnParameters": 127, - "id": 184, - "nodeType": "Return", - "src": "1158:17:2" - } - ] - }, - "documentation": null, - "id": 186, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 122, - "name": "serials", - "nodeType": "VariableDeclaration", - "scope": 186, - "src": "757:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 120, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "757:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 121, - "length": null, - "nodeType": "ArrayTypeName", - "src": "757:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "756:25:2" - }, - "returnParameters": { - "id": 127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 126, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 186, - "src": "798:16:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "798:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 125, - "length": null, - "nodeType": "ArrayTypeName", - "src": "798:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "797:18:2" - }, - "scope": 187, - "src": "736:446:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 188, - "src": "111:1073:2" - } - ], - "src": "0:1185:2" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyFactory.sol", - "exportedSymbols": { - "ProxyFactory": [ - 187 - ] - }, - "id": 188, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 45, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:2" - }, - { - "id": 46, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "24:33:2" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "file": "./proxyIdentity.sol", - "id": 48, - "nodeType": "ImportDirective", - "scope": 188, - "sourceUnit": 840, - "src": "59:50:2", - "symbolAliases": [ - { - "foreign": 47, - "local": null - } - ], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [ - 839 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 187, - "linearizedBaseContracts": [ - 187 - ], - "name": "ProxyFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 50, - "name": "erc1056", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "139:15:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 49, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "139:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 52, - "name": "erc1155", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "160:15:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 51, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "160:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 55, - "name": "proxies", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "181:23:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 53, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "181:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "id": 54, - "length": null, - "nodeType": "ArrayTypeName", - "src": "181:15:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage_ptr", - "typeString": "contract ProxyIdentity[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 59, - "name": "identities", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "210:35:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 58, - "keyType": { - "id": 56, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "210:24:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 57, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "229:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 63, - "name": "ProxyCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 62, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 61, - "indexed": false, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 63, - "src": "270:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "270:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "269:15:2" - }, - "src": "251:34:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 68, - "name": "BatchProxyCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 67, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 66, - "indexed": false, - "name": "newProxies", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "314:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 64, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "314:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 65, - "length": null, - "nodeType": "ArrayTypeName", - "src": "314:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "313:22:2" - }, - "src": "290:46:2" - }, - { - "body": { - "id": 83, - "nodeType": "Block", - "src": "397:63:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 75, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "407:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 76, - "name": "_erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "417:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "407:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 78, - "nodeType": "ExpressionStatement", - "src": "407:18:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 81, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 79, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "435:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 80, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "445:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "435:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82, - "nodeType": "ExpressionStatement", - "src": "435:18:2" - } - ] - }, - "documentation": null, - "id": 84, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 73, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 70, - "name": "_erc1056", - "nodeType": "VariableDeclaration", - "scope": 84, - "src": "354:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 69, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "354:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 72, - "name": "_erc1155", - "nodeType": "VariableDeclaration", - "scope": 84, - "src": "372:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 71, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "353:36:2" - }, - "returnParameters": { - "id": 74, - "nodeType": "ParameterList", - "parameters": [], - "src": "397:0:2" - }, - "scope": 187, - "src": "342:118:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 118, - "nodeType": "Block", - "src": "529:197:2", - "statements": [ - { - "assignments": [ - 92 - ], - "declarations": [ - { - "constant": false, - "id": 92, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 118, - "src": "539:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - }, - "typeName": { - "contractScope": null, - "id": 91, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "539:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 101, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 95, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "579:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 96, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "588:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 97, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "597:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 98, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "605:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 99, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "605:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "561:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_ProxyIdentity_$839_$", - "typeString": "function (address,address,string memory,address) returns (contract ProxyIdentity)" - }, - "typeName": { - "contractScope": null, - "id": 93, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "565:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - }, - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "561:55:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:77:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 105, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "639:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "expression": { - "argumentTypes": null, - "id": 102, - "name": "proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "626:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[] storage ref" - } - }, - "id": 104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "626:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_contract$_ProxyIdentity_$839_$returns$_t_uint256_$", - "typeString": "function (contract ProxyIdentity) returns (uint256)" - } - }, - "id": 106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "626:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 107, - "nodeType": "ExpressionStatement", - "src": "626:19:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 110, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "681:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "673:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "673:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 108, - "name": "ProxyCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "660:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:28:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 113, - "nodeType": "EmitStatement", - "src": "655:33:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 115, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "713:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "705:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "705:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 90, - "id": 117, - "nodeType": "Return", - "src": "698:21:2" - } - ] - }, - "documentation": null, - "id": 119, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "create", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 87, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 86, - "name": "serial", - "nodeType": "VariableDeclaration", - "scope": 119, - "src": "482:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 85, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "482:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:22:2" - }, - "returnParameters": { - "id": 90, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 89, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 119, - "src": "520:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "520:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "519:9:2" - }, - "scope": 187, - "src": "466:260:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 185, - "nodeType": "Block", - "src": "816:366:2", - "statements": [ - { - "assignments": [ - 131 - ], - "declarations": [ - { - "constant": false, - "id": 131, - "name": "newProxies", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "824:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "824:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 130, - "length": null, - "nodeType": "ArrayTypeName", - "src": "824:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 138, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 135, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "868:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "868:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "854:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "858:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 133, - "length": null, - "nodeType": "ArrayTypeName", - "src": "858:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "854:29:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "824:59:2" - }, - { - "body": { - "id": 177, - "nodeType": "Block", - "src": "936:169:2", - "statements": [ - { - "assignments": [ - 151 - ], - "declarations": [ - { - "constant": false, - "id": 151, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 177, - "src": "946:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - }, - "typeName": { - "contractScope": null, - "id": 150, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "946:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 162, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 154, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "986:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 155, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "995:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 156, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "1004:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 158, - "indexExpression": { - "argumentTypes": null, - "id": 157, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1012:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1004:10:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 159, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1016:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1016:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "968:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_ProxyIdentity_$839_$", - "typeString": "function (address,address,string memory,address) returns (contract ProxyIdentity)" - }, - "typeName": { - "contractScope": null, - "id": 152, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "972:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - }, - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "968:59:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "946:81:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 166, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "1050:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "expression": { - "argumentTypes": null, - "id": 163, - "name": "proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1037:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[] storage ref" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1037:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_contract$_ProxyIdentity_$839_$returns$_t_uint256_$", - "typeString": "function (contract ProxyIdentity) returns (uint256)" - } - }, - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1037:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 168, - "nodeType": "ExpressionStatement", - "src": "1037:19:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 169, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1066:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 171, - "indexExpression": { - "argumentTypes": null, - "id": 170, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1077:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1066:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 173, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "1090:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1082:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1082:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1066:30:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 176, - "nodeType": "ExpressionStatement", - "src": "1066:30:2" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "911:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 144, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "915:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "915:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "911:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 178, - "initializationExpression": { - "assignments": [ - 140 - ], - "declarations": [ - { - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 178, - "src": "896:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "896:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 142, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "908:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "896:13:2" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "931:3:2", - "subExpression": { - "argumentTypes": null, - "id": 147, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "931:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 149, - "nodeType": "ExpressionStatement", - "src": "931:3:2" - }, - "nodeType": "ForStatement", - "src": "891:214:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 180, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1137:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 179, - "name": "BatchProxyCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1119:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address[] memory)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1119:29:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 182, - "nodeType": "EmitStatement", - "src": "1114:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 183, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1165:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "functionReturnParameters": 127, - "id": 184, - "nodeType": "Return", - "src": "1158:17:2" - } - ] - }, - "documentation": null, - "id": 186, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 122, - "name": "serials", - "nodeType": "VariableDeclaration", - "scope": 186, - "src": "757:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 120, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "757:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 121, - "length": null, - "nodeType": "ArrayTypeName", - "src": "757:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "756:25:2" - }, - "returnParameters": { - "id": 127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 126, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 186, - "src": "798:16:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "798:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 125, - "length": null, - "nodeType": "ArrayTypeName", - "src": "798:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "797:18:2" - }, - "scope": 187, - "src": "736:446:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 188, - "src": "111:1073:2" - } - ], - "src": "0:1185:2" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-10-25T11:29:13.805Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ProxyIdentity.json b/packages/proxyIdentity/build/contracts/ProxyIdentity.json deleted file mode 100644 index 77441dce..00000000 --- a/packages/proxyIdentity/build/contracts/ProxyIdentity.json +++ /dev/null @@ -1,17807 +0,0 @@ -{ - "contractName": "ProxyIdentity", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_erc1056", - "type": "address" - }, - { - "internalType": "address", - "name": "_erc1155", - "type": "address" - }, - { - "internalType": "string", - "name": "_serial", - "type": "string" - }, - { - "internalType": "address", - "name": "_creator", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "agent", - "type": "address" - } - ], - "name": "ApprovedAgentAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "agent", - "type": "address" - } - ], - "name": "ApprovedAgentRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "CallbackOnTransfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TransactionSent", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "agents", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "creator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "erc1056", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "erc1155", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "id", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "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": "serial", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "sendTransaction", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - } - ], - "name": "sendSignedTransaction", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "addDelegate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "revokeDelegate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "changeOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "agent", - "type": "address" - } - ], - "name": "addApprovedAgent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "agent", - "type": "address" - } - ], - "name": "removeApprovedAgent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_uri", - "type": "string" - } - ], - "name": "updateUri", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_values", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_origin", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "tokenFallback", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "supportsToken", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_erc1056\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_serial\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"ApprovedAgentAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"ApprovedAgentRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"CallbackOnTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransactionSent\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"addApprovedAgent\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"addDelegate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"agents\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"changeOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"erc1056\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"erc1155\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"id\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"removeApprovedAgent\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"revokeDelegate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"sendSignedTransaction\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"sendTransaction\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"serial\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"supportsToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"tokenFallback\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"updateUri\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"supportsInterface(bytes4)\":{\"params\":{\"_interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"return\":\"`true` if the contract implements `_interfaceID` and\"}}},\"userdoc\":{\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":\"ProxyIdentity\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":{\"keccak256\":\"0xdf4dda59244973fb70bd0cb82914435443c07fce5e003b8158afd389c889d12a\",\"urls\":[\"bzz-raw://a6b786967673526b3ba93dec11153160479b028e9b435563b7b32bc4b62710f6\",\"dweb:/ipfs/QmQ7ibdezbEeg3qMH9eAuqvUaXaNcV7EJzKvZuDM7M4Yho\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol\":{\"keccak256\":\"0x65c692e6fdfbdc216d31f9f2a82ccd528126fc3a7fd2b30460696bef6890e57b\",\"urls\":[\"bzz-raw://8018e79ca78802e46722409d8e6eca2f364c255d97de988d3c39d951cfcb5f66\",\"dweb:/ipfs/QmTFsypNNX9thXu9jFX5WzLKD95ysLWwP2Pm6QHuiMcTPb\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":{\"keccak256\":\"0x4ef6482f64e22ea36be61c3eba61f85bed1fa75f83dcda5c4850697b5ed2c4d4\",\"urls\":[\"bzz-raw://e7550ccafd3c9e121a9d9a86e6246db33cf6a1917bf89fdd3dc35c3e539489b4\",\"dweb:/ipfs/QmQKsdE526BUTA4Xjo8FeTwmYQMWeXEUqHs392hLKeFZGn\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol\":{\"keccak256\":\"0x8b5247002651f1bcc2365b22051a9db517b4e4892d71594fd0adcea4a43ec678\",\"urls\":[\"bzz-raw://f7ddd00e7da49cbac08d2c3678b520875aee42c505ffde06e62c86f43f9da43a\",\"dweb:/ipfs/QmVBa6ocmrrLp3ak46hFHVGgL2GJq9z8VWvBX4GPyWYhrD\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x60806040527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6005553480156200003557600080fd5b50604051620029c7380380620029c7833981810160405260808110156200005b57600080fd5b810190808051906020019092919080519060200190929190805160405193929190846401000000008211156200009057600080fd5b83820191506020820185811115620000a757600080fd5b8251866001820283011164010000000082111715620000c557600080fd5b8083526020830192505050908051906020019080838360005b83811015620000fb578082015181840152602081019050620000de565b50505050905090810190601f168015620001295780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e9080519060200190620001d792919062000491565b5080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16639f181b5e6040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a057600080fd5b505afa158015620002b5573d6000803e3d6000fd5b505050506040513d6020811015620002cc57600080fd5b8101908080519060200190929190505050600f819055508273ffffffffffffffffffffffffffffffffffffffff1663a0712d68600f546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200033957600080fd5b505af11580156200034e573d6000803e3d6000fd5b5050505062000363816200036d60201b60201c565b5050505062000540565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156200047557600080fd5b505af11580156200048a573d6000803e3d6000fd5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004d457805160ff191683800117855562000505565b8280016001018555821562000505579182015b8281111562000504578251825591602001919060010190620004e7565b5b50905062000514919062000518565b5090565b6200053d91905b80821115620005395760008160009055506001016200051f565b5090565b90565b61247780620005506000396000f3fe6080604052600436106101355760003560e01c8063a6f9dae1116100ab578063d56022d71161006f578063d56022d714610ac2578063e71bdf4114610b19578063eac989f814610b6a578063f23a6e6114610bfa578063f6d713dd14610d26578063fa352c0014610db657610135565b8063a6f9dae11461074e578063ad9ec05d1461079f578063af640d0f146107f0578063bbc018571461081b578063bc197c811461090057610135565b80634c123019116100fd5780634c123019146103ca578063513856c8146104f4578063570b3c6a1461056f578063673448dd1461063757806384eb68fb146106a05780638da5cb5b146106f757610135565b806301ffc9a71461013757806302d05d3f146101a9578063061f7650146102005780630eb930ab146102695780632c39952a146102ba575b005b34801561014357600080fd5b5061018f6004803603602081101561015a57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610e07565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101be610eb8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020c57600080fd5b5061024f6004803603602081101561022357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee9565b005b6103c8600480360360e08110156102d057600080fd5b81019080803590602001906401000000008111156102ed57600080fd5b8201836020820111156102ff57600080fd5b8035906020019184600183028401116401000000008311171561032157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611103565b005b3480156103d657600080fd5b506104da600480360360808110156103ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561045457600080fd5b82018360208201111561046657600080fd5b8035906020019184600183028401116401000000008311171561048857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611489565b604051808215151515815260200191505060405180910390f35b34801561050057600080fd5b5061052d6004803603602081101561051757600080fd5b8101908080359060200190929190505050611676565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057b57600080fd5b506106356004803603602081101561059257600080fd5b81019080803590602001906401000000008111156105af57600080fd5b8201836020820111156105c157600080fd5b803590602001918460018302840111640100000000831117156105e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506116b2565b005b34801561064357600080fd5b506106866004803603602081101561065a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b604051808215151515815260200191505060405180910390f35b3480156106ac57600080fd5b506106b56117d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070357600080fd5b5061070c6117f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075a57600080fd5b5061079d6004803603602081101561077157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061181c565b005b3480156107ab57600080fd5b506107ee600480360360208110156107c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611958565b005b3480156107fc57600080fd5b50610805611b72565b6040518082815260200191505060405180910390f35b6108fe6004803603606081101561083157600080fd5b810190808035906020019064010000000081111561084e57600080fd5b82018360208201111561086057600080fd5b8035906020019184600183028401116401000000008311171561088257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b78565b005b34801561090c57600080fd5b50610a6e600480360360a081101561092357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111640100000000831117156109b457600080fd5b9091929391929390803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846020830284011164010000000083111715610a0957600080fd5b909192939192939080359060200190640100000000811115610a2a57600080fd5b820183602082011115610a3c57600080fd5b80359060200191846001830284011164010000000083111715610a5e57600080fd5b9091929391929390505050611cbc565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610ace57600080fd5b50610ad7611cd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b2557600080fd5b50610b6860048036036020811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfa565b005b348015610b7657600080fd5b50610b7f611dc8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bbf578082015181840152602081019050610ba4565b50505050905090810190601f168015610bec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c0657600080fd5b50610cd2600480360360a0811015610c1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610c8e57600080fd5b820183602082011115610ca057600080fd5b80359060200191846001830284011164010000000083111715610cc257600080fd5b9091929391929390505050611f3d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610d3257600080fd5b50610d3b611f53565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d7b578082015181840152602081019050610d60565b50505050905090810190601f168015610da85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610dc257600080fd5b50610e0560048036036020811015610dd957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff1565b005b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ea05750634e2312e060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610eae5760019050610eb3565b600090505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f8d5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610fe2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260016040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156110e857600080fd5b505af11580156110fc573d6000803e3d6000fd5b5050505050565b60008787848460405160200180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561118a57808201518184015260208101905061116f565b50505050905090810190601f1680156111b75780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050600015156006600083815260200190815260200160002060009054906101000a900460ff16151514611254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123ea6026913960400191505060405180910390fd5b60016006600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611332573d6000803e3d6000fd5b5050506020604051035190506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5369676e6174757265206973206e6f742076616c69640000000000000000000081525060200191505060405180910390fd5b61140b8a8a876121cb565b61147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b50505050505050505050565b600061149433610ede565b6114a1576000905061166e565b6001600d60006101000a81548160ff02191690831515021790555060003073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061150957805182526020820191506020810190506020830392506114e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611569576040519150601f19603f3d011682016040523d82523d6000602084013e61156e565b606091505b505090506000600d60006101000a81548160ff0219169083151502179055507feab9f6c333c4c219217a67230a9af8a2e860061556fa026945860d2c885d60fe8382336040518080602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561162d578082015181840152602081019050611612565b50505050905090810190601f16801561165a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1809150505b949350505050565b6002818154811061168357fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305751204600f54836040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561174957808201518184015260208101905061172e565b50505050905090810190601f1680156117765780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b5050505050565b60106020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118c05750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611915576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119fc5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b5050505050565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611c458383836121cb565b611cb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b505050565b600063bc197c8160e01b905098975050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611dc5816122c7565b50565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e89341c600f546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611e3f57600080fd5b505afa158015611e53573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015611e7d57600080fd5b8101908080516040519392919084640100000000821115611e9d57600080fd5b83820191506020820185811115611eb357600080fd5b8251866001820283011164010000000082111715611ed057600080fd5b8083526020830192505050908051906020019080838360005b83811015611f04578082015181840152602081019050611ee9565b50505050905090810190601f168015611f315780820380516001836020036101000a031916815260200191505b50604052505050905090565b600063f23a6e6160e01b90509695505050505050565b600e8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fe95780601f10611fbe57610100808354040283529160200191611fe9565b820191906000526020600020905b815481529060010190602001808311611fcc57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380b29f7c30836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156121b057600080fd5b505af11580156121c4573d6000803e3d6000fd5b5050505050565b60006060849050600081519050600080826020850187895af192507f7e4155ee9daec547578a255f7495bc08f38796f4d4a3be4ed7189f4fc55cb18586868660405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015612282578082015181840152602081019050612267565b50505050905090810190601f1680156122af5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156123ce57600080fd5b505af11580156123e2573d6000803e3d6000fd5b505050505056fe54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e7450726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564a265627a7a7231582006c8e52c04b4db6cf1431c7d94ec5ff14dc54062ecaf15d5c5327f343768857364736f6c63430005110032", - "deployedBytecode": "0x6080604052600436106101355760003560e01c8063a6f9dae1116100ab578063d56022d71161006f578063d56022d714610ac2578063e71bdf4114610b19578063eac989f814610b6a578063f23a6e6114610bfa578063f6d713dd14610d26578063fa352c0014610db657610135565b8063a6f9dae11461074e578063ad9ec05d1461079f578063af640d0f146107f0578063bbc018571461081b578063bc197c811461090057610135565b80634c123019116100fd5780634c123019146103ca578063513856c8146104f4578063570b3c6a1461056f578063673448dd1461063757806384eb68fb146106a05780638da5cb5b146106f757610135565b806301ffc9a71461013757806302d05d3f146101a9578063061f7650146102005780630eb930ab146102695780632c39952a146102ba575b005b34801561014357600080fd5b5061018f6004803603602081101561015a57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610e07565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101be610eb8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020c57600080fd5b5061024f6004803603602081101561022357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee9565b005b6103c8600480360360e08110156102d057600080fd5b81019080803590602001906401000000008111156102ed57600080fd5b8201836020820111156102ff57600080fd5b8035906020019184600183028401116401000000008311171561032157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611103565b005b3480156103d657600080fd5b506104da600480360360808110156103ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561045457600080fd5b82018360208201111561046657600080fd5b8035906020019184600183028401116401000000008311171561048857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611489565b604051808215151515815260200191505060405180910390f35b34801561050057600080fd5b5061052d6004803603602081101561051757600080fd5b8101908080359060200190929190505050611676565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057b57600080fd5b506106356004803603602081101561059257600080fd5b81019080803590602001906401000000008111156105af57600080fd5b8201836020820111156105c157600080fd5b803590602001918460018302840111640100000000831117156105e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506116b2565b005b34801561064357600080fd5b506106866004803603602081101561065a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b604051808215151515815260200191505060405180910390f35b3480156106ac57600080fd5b506106b56117d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070357600080fd5b5061070c6117f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075a57600080fd5b5061079d6004803603602081101561077157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061181c565b005b3480156107ab57600080fd5b506107ee600480360360208110156107c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611958565b005b3480156107fc57600080fd5b50610805611b72565b6040518082815260200191505060405180910390f35b6108fe6004803603606081101561083157600080fd5b810190808035906020019064010000000081111561084e57600080fd5b82018360208201111561086057600080fd5b8035906020019184600183028401116401000000008311171561088257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b78565b005b34801561090c57600080fd5b50610a6e600480360360a081101561092357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111640100000000831117156109b457600080fd5b9091929391929390803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846020830284011164010000000083111715610a0957600080fd5b909192939192939080359060200190640100000000811115610a2a57600080fd5b820183602082011115610a3c57600080fd5b80359060200191846001830284011164010000000083111715610a5e57600080fd5b9091929391929390505050611cbc565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610ace57600080fd5b50610ad7611cd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b2557600080fd5b50610b6860048036036020811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfa565b005b348015610b7657600080fd5b50610b7f611dc8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bbf578082015181840152602081019050610ba4565b50505050905090810190601f168015610bec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c0657600080fd5b50610cd2600480360360a0811015610c1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610c8e57600080fd5b820183602082011115610ca057600080fd5b80359060200191846001830284011164010000000083111715610cc257600080fd5b9091929391929390505050611f3d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610d3257600080fd5b50610d3b611f53565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d7b578082015181840152602081019050610d60565b50505050905090810190601f168015610da85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610dc257600080fd5b50610e0560048036036020811015610dd957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff1565b005b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ea05750634e2312e060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610eae5760019050610eb3565b600090505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f8d5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610fe2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260016040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156110e857600080fd5b505af11580156110fc573d6000803e3d6000fd5b5050505050565b60008787848460405160200180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561118a57808201518184015260208101905061116f565b50505050905090810190601f1680156111b75780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050600015156006600083815260200190815260200160002060009054906101000a900460ff16151514611254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123ea6026913960400191505060405180910390fd5b60016006600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611332573d6000803e3d6000fd5b5050506020604051035190506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5369676e6174757265206973206e6f742076616c69640000000000000000000081525060200191505060405180910390fd5b61140b8a8a876121cb565b61147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b50505050505050505050565b600061149433610ede565b6114a1576000905061166e565b6001600d60006101000a81548160ff02191690831515021790555060003073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061150957805182526020820191506020810190506020830392506114e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611569576040519150601f19603f3d011682016040523d82523d6000602084013e61156e565b606091505b505090506000600d60006101000a81548160ff0219169083151502179055507feab9f6c333c4c219217a67230a9af8a2e860061556fa026945860d2c885d60fe8382336040518080602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561162d578082015181840152602081019050611612565b50505050905090810190601f16801561165a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1809150505b949350505050565b6002818154811061168357fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305751204600f54836040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561174957808201518184015260208101905061172e565b50505050905090810190601f1680156117765780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b5050505050565b60106020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118c05750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611915576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119fc5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b5050505050565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611c458383836121cb565b611cb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b505050565b600063bc197c8160e01b905098975050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611dc5816122c7565b50565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e89341c600f546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611e3f57600080fd5b505afa158015611e53573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015611e7d57600080fd5b8101908080516040519392919084640100000000821115611e9d57600080fd5b83820191506020820185811115611eb357600080fd5b8251866001820283011164010000000082111715611ed057600080fd5b8083526020830192505050908051906020019080838360005b83811015611f04578082015181840152602081019050611ee9565b50505050905090810190601f168015611f315780820380516001836020036101000a031916815260200191505b50604052505050905090565b600063f23a6e6160e01b90509695505050505050565b600e8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fe95780601f10611fbe57610100808354040283529160200191611fe9565b820191906000526020600020905b815481529060010190602001808311611fcc57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380b29f7c30836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156121b057600080fd5b505af11580156121c4573d6000803e3d6000fd5b5050505050565b60006060849050600081519050600080826020850187895af192507f7e4155ee9daec547578a255f7495bc08f38796f4d4a3be4ed7189f4fc55cb18586868660405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015612282578082015181840152602081019050612267565b50505050905090810190601f1680156122af5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156123ce57600080fd5b505af11580156123e2573d6000803e3d6000fd5b505050505056fe54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e7450726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564a265627a7a7231582006c8e52c04b4db6cf1431c7d94ec5ff14dc54062ecaf15d5c5327f343768857364736f6c63430005110032", - "sourceMap": "616:6129:3:-;;;849:10;823:36;;1432:358;8:9:-1;5:2;;;30:1;27;20:12;5:2;1432:358:3;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1432:358:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;384:12;379:3;372:25;420:4;415:3;411:14;404:21;;0:432;;1432:358:3;;;;;;;;;;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;1432:358:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1564:8;1554:7;;:18;;;;;;;;;;;;;;;;;;1588:8;1578:7;;:18;;;;;;;;;;;;;;;;;;1611:7;1602:6;:16;;;;;;;;;;;;:::i;:::-;;1634:8;1624:7;;:18;;;;;;;;;;;;;;;;;;1656:8;1648:5;;:16;;;;;;;;;;;;;;;;;;1693:8;1675:38;;;:40;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1675:40:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1675:40:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1675:40:3;;;;;;;;;;;;;;;;1670:2;:45;;;;1739:8;1721:32;;;1754:2;;1721:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1721:36:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1721:36:3;;;;1763:22;1776:8;1763:12;;;:22;;:::i;:::-;1432:358;;;;616:6129;;4751:172;4815:7;;;;;;;;;;;4806:29;;;4851:4;4881:8;4897:15;;4806:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4806:112:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4806:112:3;;;;4751:172;:::o;616:6129::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "616:6129:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5564:257;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5564:257:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5564:257:3;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;718:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;718:22:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6622:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6622:87:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6622:87:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3378:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3378:164:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3378:164:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;2395:651;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2395:651:3;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2395:651:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2395:651:3;;;;;;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;2395:651:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2395:651:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5896:446;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5896:446:3;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5896:446:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5896:446:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5896:446:3;;;;;;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;5896:446:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;5896:446:3;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;744:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;744:23:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;744:23:3;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3826:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3826:103:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3826:103:3;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3826:103:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3826:103:3;;;;;;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;3826:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;3826:103:3;;;;;;;;;;;;;;;:::i;:::-;;1103:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1103:42:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1103:42:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;771:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;771:22:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;694:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;694:20:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3283:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3283:91:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3283:91:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;3546:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3546:169:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3546:169:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;1082:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1082:17:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2199:192;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2199:192:3;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2199:192:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2199:192:3;;;;;;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;2199:192:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2199:192:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4133:231;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4133:231:3;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;4133:231:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4133:231:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4133:231:3;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4133:231:3;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4133:231:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4133:231:3;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4133:231:3;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4133:231:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4133:231:3;;;;;;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;4133:231:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;797:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;797:22:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3050:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3050:88:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3050:88:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;3719:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3719:103:3;;;:::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;3719:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3933:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3933:196:3;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3933:196:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3933:196:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3933:196:3;;;;;;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;3933:196:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1058:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1058:20:3;;;:::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;1058:20:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3142:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3142:137:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3142:137:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;5564:257;5635:4;5074:10;5674:26;;5658:42;;;:12;:42;;;;:108;;;;5338:10;5726:40;;5710:56;;;:12;:56;;;;5658:108;5647:152;;;5788:4;5781:11;;;;5647:152;5811:5;5804:12;;5564:257;;;;:::o;718:22::-;;;;;;;;;;;;;:::o;6622:87::-;6681:4;6700;6693:11;;6622:87;;;:::o;3378:164::-;1948:5;;;;;;;;;;;1934:19;;:10;:19;;;:45;;;;1957:10;:22;1968:10;1957:22;;;;;;;;;;;;;;;;;;;;;;;;;1934:45;1919:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3470:4;3450:10;:17;3461:5;3450:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;3498:7;;;;;;;;;;;3480:44;;;3525:5;3532:4;3480:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3480:57:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3480:57:3;;;;3378:164;:::o;2395:651::-;2571:14;2609:4;2615:2;2619:5;2626;2598:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2598:34:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2598:34:3;;;2588:45;;;;;;2571:62;;2666:5;2647:24;;:7;:15;2655:6;2647:15;;;;;;;;;;;;;;;;;;;;;:24;;;2639:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2738:4;2720:7;:15;2728:6;2720:15;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;2748:12;2833:6;2780:60;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2780:60:3;;;2763:83;;;;;;2748:98;;2852:14;2869:24;2879:4;2885:1;2888;2891;2869:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2869:24:3;;;;;;;;2852:41;;2924:5;;;;;;;;;;;2914:15;;:6;:15;;;2899:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2981:33;2998:4;3004:2;3008:5;2981:16;:33::i;:::-;2973:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2395:651;;;;;;;;;;:::o;5896:446::-;6025:4;6042:25;6056:10;6042:13;:25::i;:::-;6037:44;;6076:5;6069:12;;;;6037:44;6107:4;6087:17;;:24;;;;;;;;;;;;;;;;;;6178:12;6204:4;6196:26;;6223:5;6196:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6196:33:3;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;6177:52:3;;;6255:5;6235:17;;:25;;;;;;;;;;;;;;;;;;6271:46;6290:5;6297:7;6306:10;6271:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;6271:46:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6330:7;6323:14;;;5896:446;;;;;;;:::o;744:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3826:103::-;3896:7;;;;;;;;;;;3878:36;;;3915:2;;3919:4;3878:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3878:46:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3878:46:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3878:46:3;;;;3826:103;:::o;1103:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;771:22::-;;;;;;;;;;;;;:::o;694:20::-;;;;;;;;;;;;;:::o;3283:91::-;1948:5;;;;;;;;;;;1934:19;;:10;:19;;;:45;;;;1957:10;:22;1968:10;1957:22;;;;;;;;;;;;;;;;;;;;;;;;;1934:45;1919:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3361:8;3353:5;;:16;;;;;;;;;;;;;;;;;;3283:91;:::o;3546:169::-;1948:5;;;;;;;;;;;1934:19;;:10;:19;;;:45;;;;1957:10;:22;1968:10;1957:22;;;;;;;;;;;;;;;;;;;;;;;;;1934:45;1919:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3641:5;3621:10;:17;3632:5;3621:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;3670:7;;;;;;;;;;;3652:44;;;3697:5;3704;3652:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3652:58:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3652:58:3;;;;3546:169;:::o;1082:17::-;;;;:::o;2199:192::-;1840:5;;;;;;;;;;;1826:19;;:10;:19;;;1818:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2325:34;2342:5;2349:2;2353:5;2325:16;:34::i;:::-;2317:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2199:192;;;:::o;4133:231::-;4316:6;1007:10;4337:22;;4330:29;;4133:231;;;;;;;;;;:::o;797:22::-;;;;;;;;;;;;;:::o;3050:88::-;1840:5;;;;;;;;;;;1826:19;;:10;:19;;;1818:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3111:22;3124:8;3111:12;:22::i;:::-;3050:88;:::o;3719:103::-;3755:13;3801:7;;;;;;;;;;;3783:30;;;3814:2;;3783:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3783:34:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3783:34:3;;;;;;39:16:-1;36:1;17:17;2:54;3783:34:3;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3783:34:3;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;384:12;379:3;372:25;420:4;415:3;411:14;404:21;;0:432;;3783:34:3;;;;;;;;;;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;3783:34:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3776:41;;3719:103;:::o;3933:196::-;4087:6;943:10;4108:16;;4101:23;;3933:196;;;;;;;;:::o;1058:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3142:137::-;1840:5;;;;;;;;;;;1826:19;;:10;:19;;;1818:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3215:7;;;;;;;;;;;3206:32;;;3247:4;3265:8;3206:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3206:68:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3206:68:3;;;;3142:137;:::o;4368:379::-;4475:12;4495:17;4515:5;4495:25;;4526:11;4540:4;:11;4526:25;;4691:1;4688;4683:3;4676:4;4670;4666:15;4659:5;4655:2;4650:3;4645:48;4634:59;;4709:33;4725:5;4732:2;4736:5;4709:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4709:33:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4368:379;;;;;;;:::o;4751:172::-;4815:7;;;;;;;;;;;4806:29;;;4851:4;4881:8;4897:15;;4806:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4806:112:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4806:112:3;;;;4751:172;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"multi-token-standard/contracts/interfaces/IERC165.sol\";\nimport \"multi-token-standard/contracts/interfaces/IERC1155.sol\";\nimport \"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\";\nimport \"./interfaces/IERC223Receiver.sol\";\nimport \"./interfaces/IERC223.sol\";\nimport \"./tokens/ERC1155Multiproxy.sol\";\n\ninterface IERC1056 {\n function addDelegate(\n address identity,\n bytes32 delegateType,\n address delegate,\n uint256 validity\n ) external;\n\n function revokeDelegate(\n address identity,\n bytes32 delegateType,\n address delegate\n ) external;\n}\n\ncontract ProxyIdentity is IERC1155TokenReceiver, IERC165, IERC223Receiver {\n address public owner;\n address public creator;\n address[] public agents;\n address public erc1056;\n address public erc1155;\n uint256 defaultValidity = 2**256 - 1;\n mapping(bytes32 => bool) digests;\n bytes4 internal constant ERC1155_ACCEPTED = 0xf23a6e61;\n bytes4 internal constant ERC1155_BATCH_ACCEPTED = 0xbc197c81;\n Tkn tkn;\n bool __isTokenFallback;\n string public serial;\n uint256 public id;\n mapping(address => bool) public isApproved;\n\n struct Tkn {\n address addr;\n address sender;\n address origin;\n uint256 value;\n bytes data;\n bytes4 sig;\n }\n\n event TransactionSent(bytes data, address to, uint256 value);\n event ApprovedAgentAdded(address agent);\n event ApprovedAgentRemoved(address agent);\n\n constructor(\n address _erc1056,\n address _erc1155,\n string memory _serial,\n address _creator\n ) public {\n erc1056 = _erc1056;\n erc1155 = _erc1155;\n serial = _serial;\n creator = _creator;\n owner = _creator;\n id = ERC1155Multiproxy(_erc1155).tokenCount();\n ERC1155Multiproxy(_erc1155).mint(id);\n _addDelegate(_creator);\n }\n\n modifier _owner() {\n require(msg.sender == owner, \"Only owner allowed\");\n _;\n }\n\n modifier isOwnerOrApproved() {\n require(\n msg.sender == owner || isApproved[msg.sender],\n \"ProxyIdentity: Only owner or approved agent allowed\"\n );\n _;\n }\n\n modifier tokenPayable {\n if (!__isTokenFallback)\n revert(\"Method can be invoked only as part of ERC223 transfer\");\n _;\n }\n\n function sendTransaction(\n bytes memory _data,\n address to,\n uint256 value\n ) public payable _owner() {\n require(_sendTransaction(_data, to, value), \"Can't send transaction\");\n }\n\n function sendSignedTransaction(\n bytes memory data,\n address to,\n uint8 v,\n bytes32 r,\n bytes32 s,\n uint256 value,\n uint256 nonce\n ) public payable {\n bytes32 digest = keccak256(abi.encode(data, to, value, nonce));\n require(digests[digest] == false, \"This transaction has already been sent\");\n digests[digest] = true;\n bytes32 hash = keccak256(\n abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", digest)\n );\n address signer = ecrecover(hash, v, r, s);\n require(\n signer == owner,\n \"Signature is not valid\"\n );\n require(_sendTransaction(data, to, value), \"Can't send transaction\");\n }\n\n function addDelegate(address delegate) public _owner() {\n _addDelegate(delegate);\n }\n\n function revokeDelegate(address delegate) public _owner() {\n IERC1056(erc1056).revokeDelegate(address(this), \"sigAuth\", delegate);\n }\n\n function changeOwner(address newOwner) public isOwnerOrApproved {\n owner = newOwner;\n }\n\n function addApprovedAgent(address agent) public isOwnerOrApproved {\n isApproved[agent] = true;\n ERC1155Multiproxy(erc1155).setApprovalForAll(agent, true);\n }\n\n function removeApprovedAgent(address agent) public isOwnerOrApproved {\n isApproved[agent] = false;\n ERC1155Multiproxy(erc1155).setApprovalForAll(agent, false);\n }\n\n function uri() public view returns (string memory) {\n return ERC1155Multiproxy(erc1155).uri(id);\n }\n\n function updateUri(string memory _uri) public {\n ERC1155Multiproxy(erc1155).updateUri(id, _uri);\n }\n\n function onERC1155Received(\n address _operator,\n address _from,\n uint256 _id,\n uint256 _value,\n bytes calldata _data\n ) external returns (bytes4) {\n return ERC1155_ACCEPTED;\n }\n\n function onERC1155BatchReceived(\n address _operator,\n address _from,\n uint256[] calldata _ids,\n uint256[] calldata _values,\n bytes calldata _data\n ) external returns (bytes4) {\n return ERC1155_BATCH_ACCEPTED;\n }\n\n function _sendTransaction(\n bytes memory _data,\n address to,\n uint256 value\n ) internal returns (bool success) {\n bytes memory data = _data;\n uint256 len = data.length;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := call(gas, to, value, add(data, 0x20), len, 0, 0)\n }\n emit TransactionSent(_data, to, value);\n }\n\n function _addDelegate(address delegate) internal {\n IERC1056(erc1056).addDelegate(\n address(this),\n \"sigAuth\",\n delegate,\n defaultValidity\n );\n }\n\n /**\n * INTERFACE_SIGNATURE_ERC165 = bytes4(keccak256(\"supportsInterface(bytes4)\"));\n */\n bytes4 private constant INTERFACE_SIGNATURE_ERC165 = 0x01ffc9a7;\n\n /**\n * bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))^bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))\n */\n bytes4 private constant INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER = 0x4e2312e0;\n\n /**\n * @notice Query if a contract implements an interface\n * @param _interfaceID The interface identifier, as specified in ERC-165\n * @return `true` if the contract implements `_interfaceID` and\n */\n function supportsInterface(bytes4 _interfaceID) external view returns (bool) {\n if (\n _interfaceID == INTERFACE_SIGNATURE_ERC165 ||\n _interfaceID == INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER\n ) {\n return true;\n }\n return false;\n }\n\n event CallbackOnTransfer(bytes data, bool success, address sender);\n\n function tokenFallback(\n address _sender,\n address _origin,\n uint256 _value,\n bytes memory _data\n ) public returns (bool) {\n if (!supportsToken(msg.sender)) return false;\n __isTokenFallback = true;\n // solium-disable-next-line security/no-low-level-calls\n (bool success, ) = address(this).delegatecall(_data);\n __isTokenFallback = false;\n emit CallbackOnTransfer(_data, success, msg.sender);\n return success;\n }\n\n function getSig(bytes memory _data) private pure returns (bytes4 sig) {\n uint256 l = _data.length < 4 ? _data.length : 4;\n for (uint256 i = 0; i < l; i++) {\n sig = bytes4(\n uint32(uint32(sig) + uint8(_data[i]) * (2**(8 * (l - 1 - i))))\n );\n }\n }\n\n function supportsToken(address token) public pure returns (bool) {\n return true;\n }\n\n function() external payable {}\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "exportedSymbols": { - "IERC1056": [ - 216 - ], - "ProxyIdentity": [ - 839 - ] - }, - "id": 840, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 189, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "multi-token-standard/contracts/interfaces/IERC165.sol", - "id": 190, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2419, - "src": "25:63:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "id": 191, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2367, - "src": "89:64:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "id": 192, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2409, - "src": "154:77:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "./interfaces/IERC223Receiver.sol", - "id": 193, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 44, - "src": "232:42:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "./interfaces/IERC223.sol", - "id": 194, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 28, - "src": "275:34:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "file": "./tokens/ERC1155Multiproxy.sol", - "id": 195, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 1184, - "src": "310:40:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 216, - "linearizedBaseContracts": [ - 216 - ], - "name": "IERC1056", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 206, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 197, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "401:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 196, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "401:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 199, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "423:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 198, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "423:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 201, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 203, - "name": "validity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "471:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:96:3" - }, - "returnParameters": { - "id": 205, - "nodeType": "ParameterList", - "parameters": [], - "src": "500:0:3" - }, - "scope": 216, - "src": "375:126:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 215, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 208, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "534:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 210, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "556:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 209, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "556:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 212, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "582:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 211, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "582:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "528:74:3" - }, - "returnParameters": { - "id": 214, - "nodeType": "ParameterList", - "parameters": [], - "src": "611:0:3" - }, - "scope": 216, - "src": "505:107:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "352:262:3" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 217, - "name": "IERC1155TokenReceiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2408, - "src": "642:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2408", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 218, - "nodeType": "InheritanceSpecifier", - "src": "642:21:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 219, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2418, - "src": "665:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2418", - "typeString": "contract IERC165" - } - }, - "id": 220, - "nodeType": "InheritanceSpecifier", - "src": "665:7:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 221, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "674:15:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 222, - "nodeType": "InheritanceSpecifier", - "src": "674:15:3" - } - ], - "contractDependencies": [ - 43, - 2408, - 2418 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 839, - "linearizedBaseContracts": [ - 839, - 43, - 2418, - 2408 - ], - "name": "ProxyIdentity", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 224, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "694:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "694:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 226, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "718:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 225, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "718:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 229, - "name": "agents", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "744:23:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "744:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 228, - "length": null, - "nodeType": "ArrayTypeName", - "src": "744:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 231, - "name": "erc1056", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "771:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "771:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 233, - "name": "erc1155", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "797:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "797:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 240, - "name": "defaultValidity", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "823:36:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "823:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - }, - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "849:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "852:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "849:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "849:10:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 244, - "name": "digests", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "863:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 243, - "keyType": { - "id": 241, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "871:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "863:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 242, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "882:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 247, - "name": "ERC1155_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "899:54:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 245, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "899:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "943:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 250, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "957:60:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 248, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "957:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 252, - "name": "tkn", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1021:7:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage", - "typeString": "struct ProxyIdentity.Tkn" - }, - "typeName": { - "contractScope": null, - "id": 251, - "name": "Tkn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 275, - "src": "1021:3:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage_ptr", - "typeString": "struct ProxyIdentity.Tkn" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 254, - "name": "__isTokenFallback", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1032:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 253, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1032:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 256, - "name": "serial", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1058:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 255, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1058:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 258, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1082:17:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1082:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 262, - "name": "isApproved", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1103:42:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 261, - "keyType": { - "id": 259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1111:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1103:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1122:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ProxyIdentity.Tkn", - "id": 275, - "members": [ - { - "constant": false, - "id": 264, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1167:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1167:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 266, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1185:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1185:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 268, - "name": "origin", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1205:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1205:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 270, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1225:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1225:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 272, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1244:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 271, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1244:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 274, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1260:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 273, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1260:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Tkn", - "nodeType": "StructDefinition", - "scope": 839, - "src": "1150:125:3", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 283, - "name": "TransactionSent", - "nodeType": "EventDefinition", - "parameters": { - "id": 282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 277, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1301:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 276, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1301:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 279, - "indexed": false, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1313:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1313:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 281, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1325:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1325:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1300:39:3" - }, - "src": "1279:61:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 287, - "name": "ApprovedAgentAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 285, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "1368:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1368:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1367:15:3" - }, - "src": "1343:40:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 291, - "name": "ApprovedAgentRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 290, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 289, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "1413:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 288, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:15:3" - }, - "src": "1386:42:3" - }, - { - "body": { - "id": 341, - "nodeType": "Block", - "src": "1548:242:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 302, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1554:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 303, - "name": "_erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1554:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 305, - "nodeType": "ExpressionStatement", - "src": "1554:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 306, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "1578:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 307, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1588:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1578:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 309, - "nodeType": "ExpressionStatement", - "src": "1578:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 310, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "1602:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 311, - "name": "_serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "1611:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1602:16:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 313, - "nodeType": "ExpressionStatement", - "src": "1602:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 314, - "name": "creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 226, - "src": "1624:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 315, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1634:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1624:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "1624:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 318, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1648:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 319, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1656:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1648:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 321, - "nodeType": "ExpressionStatement", - "src": "1648:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 322, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1670:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 324, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1693:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 323, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1675:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1103, - "src": "1675:38:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1670:45:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "1670:45:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 334, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1754:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 331, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1739:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 330, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1721:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 1173, - "src": "1721:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:36:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 336, - "nodeType": "ExpressionStatement", - "src": "1721:36:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 338, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1776:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 337, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "1763:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1763:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 340, - "nodeType": "ExpressionStatement", - "src": "1763:22:3" - } - ] - }, - "documentation": null, - "id": 342, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 293, - "name": "_erc1056", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 292, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 295, - "name": "_erc1155", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1471:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 297, - "name": "_serial", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1493:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1493:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 299, - "name": "_creator", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1520:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1520:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1443:97:3" - }, - "returnParameters": { - "id": 301, - "nodeType": "ParameterList", - "parameters": [], - "src": "1548:0:3" - }, - "scope": 839, - "src": "1432:358:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 353, - "nodeType": "Block", - "src": "1812:68:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 345, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1826:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1826:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 347, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1840:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1826:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c79206f776e657220616c6c6f776564", - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1847:20:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - }, - "value": "Only owner allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - } - ], - "id": 344, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1818:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1818:50:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 351, - "nodeType": "ExpressionStatement", - "src": "1818:50:3" - }, - { - "id": 352, - "nodeType": "PlaceholderStatement", - "src": "1874:1:3" - } - ] - }, - "documentation": null, - "id": 354, - "name": "_owner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 343, - "nodeType": "ParameterList", - "parameters": [], - "src": "1809:2:3" - }, - "src": "1794:86:3", - "visibility": "internal" - }, - { - "body": { - "id": 370, - "nodeType": "Block", - "src": "1913:145:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1934:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1934:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 359, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1948:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1934:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "1957:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 364, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1968:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1968:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1957:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1934:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564", - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1987:53:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - }, - "value": "ProxyIdentity: Only owner or approved agent allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - } - ], - "id": 356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1919:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1919:127:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 368, - "nodeType": "ExpressionStatement", - "src": "1919:127:3" - }, - { - "id": 369, - "nodeType": "PlaceholderStatement", - "src": "2052:1:3" - } - ] - }, - "documentation": null, - "id": 371, - "name": "isOwnerOrApproved", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 355, - "nodeType": "ParameterList", - "parameters": [], - "src": "1910:2:3" - }, - "src": "1884:174:3", - "visibility": "internal" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "2084:111:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2094:18:3", - "subExpression": { - "argumentTypes": null, - "id": 373, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "2095:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 379, - "nodeType": "IfStatement", - "src": "2090:93:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d6574686f642063616e20626520696e766f6b6564206f6e6c792061732070617274206f6620455243323233207472616e73666572", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2127:55:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - }, - "value": "Method can be invoked only as part of ERC223 transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - } - ], - "id": 375, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3539, - 3540 - ], - "referencedDeclaration": 3540, - "src": "2120:6:3", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2120:63:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 378, - "nodeType": "ExpressionStatement", - "src": "2120:63:3" - } - }, - { - "id": 380, - "nodeType": "PlaceholderStatement", - "src": "2189:1:3" - } - ] - }, - "documentation": null, - "id": 382, - "name": "tokenPayable", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [], - "src": "2084:0:3" - }, - "src": "2062:133:3", - "visibility": "internal" - }, - { - "body": { - "id": 402, - "nodeType": "Block", - "src": "2311:80:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 395, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 384, - "src": "2342:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 396, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "2349:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 397, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "2353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 394, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2325:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2325:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2361:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2317:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:69:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "2317:69:3" - } - ] - }, - "documentation": null, - "id": 403, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 391, - "modifierName": { - "argumentTypes": null, - "id": 390, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "2302:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2302:8:3" - } - ], - "name": "sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 384, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2229:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 383, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2229:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 386, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2253:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2253:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 388, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2269:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2269:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2223:63:3" - }, - "returnParameters": { - "id": 392, - "nodeType": "ParameterList", - "parameters": [], - "src": "2311:0:3" - }, - "scope": 839, - "src": "2199:192:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 482, - "nodeType": "Block", - "src": "2565:481:3", - "statements": [ - { - "assignments": [ - 421 - ], - "declarations": [ - { - "constant": false, - "id": 421, - "name": "digest", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2571:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 420, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2571:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 431, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 425, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2609:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 426, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "2615:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 427, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "2619:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 428, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "2626:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 423, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2598:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2598:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2598:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 422, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2588:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2588:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2571:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 433, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2647:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 435, - "indexExpression": { - "argumentTypes": null, - "id": 434, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2655:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2647:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2666:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2647:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e74", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2673:40:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - }, - "value": "This transaction has already been sent" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - } - ], - "id": 432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2639:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2639:75:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 440, - "nodeType": "ExpressionStatement", - "src": "2639:75:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 441, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2720:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 443, - "indexExpression": { - "argumentTypes": null, - "id": 442, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2728:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2720:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2738:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2720:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 446, - "nodeType": "ExpressionStatement", - "src": "2720:22:3" - }, - { - "assignments": [ - 448 - ], - "declarations": [ - { - "constant": false, - "id": 448, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2748:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 447, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 456, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2797:34:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "argumentTypes": null, - "id": 453, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2833:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 450, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2780:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2780:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2780:60:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 449, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2763:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2763:83:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2748:98:3" - }, - { - "assignments": [ - 458 - ], - "declarations": [ - { - "constant": false, - "id": 458, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2852:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2852:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 465, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 460, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "2879:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 461, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "2885:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 462, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "2888:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 463, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "2891:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 459, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3526, - "src": "2869:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2869:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2852:41:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 467, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 458, - "src": "2914:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 468, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "2924:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2914:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5369676e6174757265206973206e6f742076616c6964", - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2937:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - }, - "value": "Signature is not valid" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - } - ], - "id": 466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2899:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2899:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 472, - "nodeType": "ExpressionStatement", - "src": "2899:68:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 475, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2998:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 476, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "3004:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 477, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "3008:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 474, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2981:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2981:33:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3016:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2973:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2973:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 481, - "nodeType": "ExpressionStatement", - "src": "2973:68:3" - } - ] - }, - "documentation": null, - "id": 483, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendSignedTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 405, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2431:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 404, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2431:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 407, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2454:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2454:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 409, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2470:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 408, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2470:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 411, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2483:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 410, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2483:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 413, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2498:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 412, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 415, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2513:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2513:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 417, - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2532:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2532:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2425:124:3" - }, - "returnParameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [], - "src": "2565:0:3" - }, - "scope": 839, - "src": "2395:651:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 494, - "nodeType": "Block", - "src": "3105:33:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 491, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "3124:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 490, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "3111:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3111:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "3111:22:3" - } - ] - }, - "documentation": null, - "id": 495, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 488, - "modifierName": { - "argumentTypes": null, - "id": 487, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3096:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3096:8:3" - } - ], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 485, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 495, - "src": "3071:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3071:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3070:18:3" - }, - "returnParameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [], - "src": "3105:0:3" - }, - "scope": 839, - "src": "3050:88:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 513, - "nodeType": "Block", - "src": "3200:79:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 507, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3247:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3254:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 510, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "3265:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 503, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3215:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 502, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3206:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokeDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 215, - "src": "3206:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address) external" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 512, - "nodeType": "ExpressionStatement", - "src": "3206:68:3" - } - ] - }, - "documentation": null, - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 500, - "modifierName": { - "argumentTypes": null, - "id": 499, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3191:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3191:8:3" - } - ], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 497, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "3166:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 496, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3166:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3165:18:3" - }, - "returnParameters": { - "id": 501, - "nodeType": "ParameterList", - "parameters": [], - "src": "3200:0:3" - }, - "scope": 839, - "src": "3142:137:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 525, - "nodeType": "Block", - "src": "3347:27:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 521, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "3353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 522, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "3361:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3353:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 524, - "nodeType": "ExpressionStatement", - "src": "3353:16:3" - } - ] - }, - "documentation": null, - "id": 526, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 519, - "modifierName": { - "argumentTypes": null, - "id": 518, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3329:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3329:17:3" - } - ], - "name": "changeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 516, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 526, - "src": "3304:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3303:18:3" - }, - "returnParameters": { - "id": 520, - "nodeType": "ParameterList", - "parameters": [], - "src": "3347:0:3" - }, - "scope": 839, - "src": "3283:91:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 547, - "nodeType": "Block", - "src": "3444:98:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 533, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 535, - "indexExpression": { - "argumentTypes": null, - "id": 534, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3461:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3450:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3470:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3450:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 538, - "nodeType": "ExpressionStatement", - "src": "3450:24:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 543, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3525:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 540, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 539, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3480:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3480:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:57:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 546, - "nodeType": "ExpressionStatement", - "src": "3480:57:3" - } - ] - }, - "documentation": null, - "id": 548, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 531, - "modifierName": { - "argumentTypes": null, - "id": 530, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3426:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3426:17:3" - } - ], - "name": "addApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 528, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "3404:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 527, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3404:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3403:15:3" - }, - "returnParameters": { - "id": 532, - "nodeType": "ParameterList", - "parameters": [], - "src": "3444:0:3" - }, - "scope": 839, - "src": "3378:164:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 569, - "nodeType": "Block", - "src": "3615:100:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 555, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3621:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 557, - "indexExpression": { - "argumentTypes": null, - "id": 556, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3632:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3621:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3641:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3621:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3621:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 565, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3697:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3704:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 562, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3670:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 561, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3652:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3652:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:58:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 568, - "nodeType": "ExpressionStatement", - "src": "3652:58:3" - } - ] - }, - "documentation": null, - "id": 570, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 553, - "modifierName": { - "argumentTypes": null, - "id": 552, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3597:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3597:17:3" - } - ], - "name": "removeApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 550, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 570, - "src": "3575:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3575:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3574:15:3" - }, - "returnParameters": { - "id": 554, - "nodeType": "ParameterList", - "parameters": [], - "src": "3615:0:3" - }, - "scope": 839, - "src": "3546:169:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 582, - "nodeType": "Block", - "src": "3770:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3814:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 576, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3801:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 575, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3783:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "3783:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view external returns (string memory)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:34:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 574, - "id": 581, - "nodeType": "Return", - "src": "3776:41:3" - } - ] - }, - "documentation": null, - "id": 583, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 571, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:2:3" - }, - "returnParameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 573, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 583, - "src": "3755:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3755:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3754:15:3" - }, - "scope": 839, - "src": "3719:103:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 596, - "nodeType": "Block", - "src": "3872:57:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 592, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3915:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 593, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "3919:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 589, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3896:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 588, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3878:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateUri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1142, - "src": "3878:36:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "3878:46:3" - } - ] - }, - "documentation": null, - "id": 597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 597, - "src": "3845:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 584, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3845:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:20:3" - }, - "returnParameters": { - "id": 587, - "nodeType": "ParameterList", - "parameters": [], - "src": "3872:0:3" - }, - "scope": 839, - "src": "3826:103:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 614, - "nodeType": "Block", - "src": "4095:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 612, - "name": "ERC1155_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "4108:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 611, - "id": 613, - "nodeType": "Return", - "src": "4101:23:3" - } - ] - }, - "documentation": null, - "id": 615, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 599, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3965:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3965:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 601, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3988:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3988:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 603, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4007:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4007:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 605, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4024:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 607, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4044:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 606, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4044:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3959:109:3" - }, - "returnParameters": { - "id": 611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 610, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4087:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 609, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4087:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4086:8:3" - }, - "scope": 839, - "src": "3933:196:3", - "stateMutability": "nonpayable", - "superFunction": 2383, - "visibility": "external" - }, - { - "body": { - "id": 634, - "nodeType": "Block", - "src": "4324:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 632, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4337:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 631, - "id": 633, - "nodeType": "Return", - "src": "4330:29:3" - } - ] - }, - "documentation": null, - "id": 635, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 617, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4170:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4170:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 619, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4193:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4193:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 622, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4212:23:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4212:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 621, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4212:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 625, - "name": "_values", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4241:26:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 624, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4241:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 627, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4273:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 626, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4273:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4164:133:3" - }, - "returnParameters": { - "id": 631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 630, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4316:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 629, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4316:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4315:8:3" - }, - "scope": 839, - "src": "4133:231:3", - "stateMutability": "nonpayable", - "superFunction": 2400, - "visibility": "external" - }, - { - "body": { - "id": 662, - "nodeType": "Block", - "src": "4489:258:3", - "statements": [ - { - "assignments": [ - 647 - ], - "declarations": [ - { - "constant": false, - "id": 647, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4495:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 649, - "initialValue": { - "argumentTypes": null, - "id": 648, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4515:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4495:25:3" - }, - { - "assignments": [ - 651 - ], - "declarations": [ - { - "constant": false, - "id": 651, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4526:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4526:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 654, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 652, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "4540:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4540:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4526:25:3" - }, - { - "externalReferences": [ - { - "success": { - "declaration": 644, - "isOffset": false, - "isSlot": false, - "src": "4634:7:3", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 647, - "isOffset": false, - "isSlot": false, - "src": "4670:4:3", - "valueSize": 1 - } - }, - { - "to": { - "declaration": 639, - "isOffset": false, - "isSlot": false, - "src": "4655:2:3", - "valueSize": 1 - } - }, - { - "value": { - "declaration": 641, - "isOffset": false, - "isSlot": false, - "src": "4659:5:3", - "valueSize": 1 - } - }, - { - "len": { - "declaration": 651, - "isOffset": false, - "isSlot": false, - "src": "4683:3:3", - "valueSize": 1 - } - } - ], - "id": 655, - "nodeType": "InlineAssembly", - "operations": "{\n success := call(gas(), to, value, add(data, 0x20), len, 0, 0)\n}", - "src": "4617:82:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 657, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4725:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 658, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4732:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 659, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "4736:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 656, - "name": "TransactionSent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "4709:15:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (bytes memory,address,uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4709:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "EmitStatement", - "src": "4704:38:3" - } - ] - }, - "documentation": null, - "id": 663, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 637, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4399:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 636, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4399:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 639, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4423:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4423:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 641, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4439:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4393:63:3" - }, - "returnParameters": { - "id": 645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 644, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4475:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 643, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4475:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4474:14:3" - }, - "scope": 839, - "src": "4368:379:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 680, - "nodeType": "Block", - "src": "4800:123:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "4851:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4843:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4843:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4864:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 676, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "4881:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 677, - "name": "defaultValidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "4897:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 669, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4815:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 668, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "4806:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 206, - "src": "4806:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,address,uint256) external" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:112:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 679, - "nodeType": "ExpressionStatement", - "src": "4806:112:3" - } - ] - }, - "documentation": null, - "id": 681, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 665, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 681, - "src": "4773:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 664, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4773:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4772:18:3" - }, - "returnParameters": { - "id": 667, - "nodeType": "ParameterList", - "parameters": [], - "src": "4800:0:3" - }, - "scope": 839, - "src": "4751:172:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 684, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5021:63:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 682, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5021:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 687, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5271:77:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 685, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5271:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783465323331326530", - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5338:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1310921440_by_1", - "typeString": "int_const 1310921440" - }, - "value": "0x4e2312e0" - }, - "visibility": "private" - }, - { - "body": { - "id": 707, - "nodeType": "Block", - "src": "5641:180:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 694, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5658:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 695, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "5674:26:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5658:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 697, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5710:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 698, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "5726:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5710:56:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5658:108:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 704, - "nodeType": "IfStatement", - "src": "5647:152:3", - "trueBody": { - "id": 703, - "nodeType": "Block", - "src": "5773:26:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5788:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 693, - "id": 702, - "nodeType": "Return", - "src": "5781:11:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5811:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 693, - "id": 706, - "nodeType": "Return", - "src": "5804:12:3" - } - ] - }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 708, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 689, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5591:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 688, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5591:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5590:21:3" - }, - "returnParameters": { - "id": 693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 692, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5635:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5635:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5634:6:3" - }, - "scope": 839, - "src": "5564:257:3", - "stateMutability": "view", - "superFunction": 2417, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 716, - "name": "CallbackOnTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 710, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5850:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 709, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5850:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 712, - "indexed": false, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5862:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 711, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5862:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 714, - "indexed": false, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5876:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5876:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5849:42:3" - }, - "src": "5825:67:3" - }, - { - "body": { - "id": 763, - "nodeType": "Block", - "src": "6031:311:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6041:26:3", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 730, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6056:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6056:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 729, - "name": "supportsToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "6042:13:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6042:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 736, - "nodeType": "IfStatement", - "src": "6037:44:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6076:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 728, - "id": 735, - "nodeType": "Return", - "src": "6069:12:3" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 737, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6087:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6107:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6087:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 740, - "nodeType": "ExpressionStatement", - "src": "6087:24:3" - }, - { - "assignments": [ - 742, - null - ], - "declarations": [ - { - "constant": false, - "id": 742, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6178:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 741, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6178:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 749, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 747, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6223:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 744, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "6204:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6196:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6196:26:3", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6177:52:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 750, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6235:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6255:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6235:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 753, - "nodeType": "ExpressionStatement", - "src": "6235:25:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 755, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6290:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 756, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6297:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6306:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6306:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 754, - "name": "CallbackOnTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "6271:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_bool_$_t_address_$returns$__$", - "typeString": "function (bytes memory,bool,address)" - } - }, - "id": 759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6271:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 760, - "nodeType": "EmitStatement", - "src": "6266:51:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 761, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6330:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 728, - "id": 762, - "nodeType": "Return", - "src": "6323:14:3" - } - ] - }, - "documentation": null, - "id": 764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 718, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5924:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5924:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 720, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5945:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5945:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 722, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5966:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5966:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 724, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5986:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 723, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5986:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:90:3" - }, - "returnParameters": { - "id": 728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 727, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "6025:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 726, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6025:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6024:6:3" - }, - "scope": 839, - "src": "5896:446:3", - "stateMutability": "nonpayable", - "superFunction": 42, - "visibility": "public" - }, - { - "body": { - "id": 823, - "nodeType": "Block", - "src": "6416:202:3", - "statements": [ - { - "assignments": [ - 772 - ], - "declarations": [ - { - "constant": false, - "id": 772, - "name": "l", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "6422:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6422:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 781, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 773, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6434:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6434:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6449:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "6434:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6468:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "6434:35:3", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 777, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6453:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6453:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6422:47:3" - }, - { - "body": { - "id": 821, - "nodeType": "Block", - "src": "6507:107:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 792, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6515:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6551:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6544:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6544:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 799, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6564:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 800, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6570:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6558:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6558:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6577:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6581:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 805, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6586:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6590:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6586:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 808, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6594:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6586:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 810, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6585:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6581:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 812, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6580:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6577:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 814, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6576:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6558:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6544:54:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6537:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6537:62:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6521:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" - }, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6521:86:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "6515:92:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 820, - "nodeType": "ExpressionStatement", - "src": "6515:92:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 786, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6495:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 787, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6499:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 822, - "initializationExpression": { - "assignments": [ - 783 - ], - "declarations": [ - { - "constant": false, - "id": 783, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "6480:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6480:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 785, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6492:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6480:13:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6502:3:3", - "subExpression": { - "argumentTypes": null, - "id": 789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6502:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 791, - "nodeType": "ExpressionStatement", - "src": "6502:3:3" - }, - "nodeType": "ForStatement", - "src": "6475:139:3" - } - ] - }, - "documentation": null, - "id": 824, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 766, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6362:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 765, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6362:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6361:20:3" - }, - "returnParameters": { - "id": 770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 769, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6404:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 768, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "6404:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6403:12:3" - }, - "scope": 839, - "src": "6346:272:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 833, - "nodeType": "Block", - "src": "6687:22:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6700:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 830, - "id": 832, - "nodeType": "Return", - "src": "6693:11:3" - } - ] - }, - "documentation": null, - "id": 834, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 826, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6645:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6645:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6644:15:3" - }, - "returnParameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6681:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 828, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6681:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6680:6:3" - }, - "scope": 839, - "src": "6622:87:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 837, - "nodeType": "Block", - "src": "6741:2:3", - "statements": [] - }, - "documentation": null, - "id": 838, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 835, - "nodeType": "ParameterList", - "parameters": [], - "src": "6721:2:3" - }, - "returnParameters": { - "id": 836, - "nodeType": "ParameterList", - "parameters": [], - "src": "6741:0:3" - }, - "scope": 839, - "src": "6713:30:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "616:6129:3" - } - ], - "src": "0:6746:3" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "exportedSymbols": { - "IERC1056": [ - 216 - ], - "ProxyIdentity": [ - 839 - ] - }, - "id": 840, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 189, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "multi-token-standard/contracts/interfaces/IERC165.sol", - "id": 190, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2419, - "src": "25:63:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "id": 191, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2367, - "src": "89:64:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "id": 192, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2409, - "src": "154:77:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "./interfaces/IERC223Receiver.sol", - "id": 193, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 44, - "src": "232:42:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "./interfaces/IERC223.sol", - "id": 194, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 28, - "src": "275:34:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "file": "./tokens/ERC1155Multiproxy.sol", - "id": 195, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 1184, - "src": "310:40:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 216, - "linearizedBaseContracts": [ - 216 - ], - "name": "IERC1056", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 206, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 197, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "401:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 196, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "401:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 199, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "423:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 198, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "423:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 201, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 203, - "name": "validity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "471:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:96:3" - }, - "returnParameters": { - "id": 205, - "nodeType": "ParameterList", - "parameters": [], - "src": "500:0:3" - }, - "scope": 216, - "src": "375:126:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 215, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 208, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "534:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 210, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "556:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 209, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "556:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 212, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "582:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 211, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "582:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "528:74:3" - }, - "returnParameters": { - "id": 214, - "nodeType": "ParameterList", - "parameters": [], - "src": "611:0:3" - }, - "scope": 216, - "src": "505:107:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "352:262:3" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 217, - "name": "IERC1155TokenReceiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2408, - "src": "642:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2408", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 218, - "nodeType": "InheritanceSpecifier", - "src": "642:21:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 219, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2418, - "src": "665:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2418", - "typeString": "contract IERC165" - } - }, - "id": 220, - "nodeType": "InheritanceSpecifier", - "src": "665:7:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 221, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "674:15:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 222, - "nodeType": "InheritanceSpecifier", - "src": "674:15:3" - } - ], - "contractDependencies": [ - 43, - 2408, - 2418 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 839, - "linearizedBaseContracts": [ - 839, - 43, - 2418, - 2408 - ], - "name": "ProxyIdentity", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 224, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "694:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "694:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 226, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "718:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 225, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "718:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 229, - "name": "agents", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "744:23:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "744:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 228, - "length": null, - "nodeType": "ArrayTypeName", - "src": "744:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 231, - "name": "erc1056", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "771:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "771:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 233, - "name": "erc1155", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "797:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "797:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 240, - "name": "defaultValidity", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "823:36:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "823:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - }, - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "849:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "852:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "849:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "849:10:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 244, - "name": "digests", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "863:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 243, - "keyType": { - "id": 241, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "871:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "863:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 242, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "882:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 247, - "name": "ERC1155_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "899:54:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 245, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "899:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "943:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 250, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "957:60:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 248, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "957:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 252, - "name": "tkn", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1021:7:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage", - "typeString": "struct ProxyIdentity.Tkn" - }, - "typeName": { - "contractScope": null, - "id": 251, - "name": "Tkn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 275, - "src": "1021:3:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage_ptr", - "typeString": "struct ProxyIdentity.Tkn" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 254, - "name": "__isTokenFallback", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1032:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 253, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1032:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 256, - "name": "serial", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1058:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 255, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1058:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 258, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1082:17:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1082:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 262, - "name": "isApproved", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1103:42:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 261, - "keyType": { - "id": 259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1111:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1103:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1122:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ProxyIdentity.Tkn", - "id": 275, - "members": [ - { - "constant": false, - "id": 264, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1167:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1167:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 266, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1185:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1185:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 268, - "name": "origin", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1205:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1205:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 270, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1225:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1225:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 272, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1244:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 271, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1244:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 274, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1260:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 273, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1260:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Tkn", - "nodeType": "StructDefinition", - "scope": 839, - "src": "1150:125:3", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 283, - "name": "TransactionSent", - "nodeType": "EventDefinition", - "parameters": { - "id": 282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 277, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1301:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 276, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1301:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 279, - "indexed": false, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1313:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1313:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 281, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1325:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1325:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1300:39:3" - }, - "src": "1279:61:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 287, - "name": "ApprovedAgentAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 285, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "1368:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1368:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1367:15:3" - }, - "src": "1343:40:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 291, - "name": "ApprovedAgentRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 290, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 289, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "1413:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 288, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:15:3" - }, - "src": "1386:42:3" - }, - { - "body": { - "id": 341, - "nodeType": "Block", - "src": "1548:242:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 302, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1554:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 303, - "name": "_erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1554:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 305, - "nodeType": "ExpressionStatement", - "src": "1554:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 306, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "1578:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 307, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1588:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1578:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 309, - "nodeType": "ExpressionStatement", - "src": "1578:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 310, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "1602:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 311, - "name": "_serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "1611:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1602:16:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 313, - "nodeType": "ExpressionStatement", - "src": "1602:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 314, - "name": "creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 226, - "src": "1624:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 315, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1634:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1624:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "1624:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 318, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1648:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 319, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1656:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1648:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 321, - "nodeType": "ExpressionStatement", - "src": "1648:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 322, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1670:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 324, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1693:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 323, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1675:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1103, - "src": "1675:38:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1670:45:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "1670:45:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 334, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1754:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 331, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1739:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 330, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1721:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 1173, - "src": "1721:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:36:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 336, - "nodeType": "ExpressionStatement", - "src": "1721:36:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 338, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1776:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 337, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "1763:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1763:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 340, - "nodeType": "ExpressionStatement", - "src": "1763:22:3" - } - ] - }, - "documentation": null, - "id": 342, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 293, - "name": "_erc1056", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 292, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 295, - "name": "_erc1155", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1471:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 297, - "name": "_serial", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1493:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1493:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 299, - "name": "_creator", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1520:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1520:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1443:97:3" - }, - "returnParameters": { - "id": 301, - "nodeType": "ParameterList", - "parameters": [], - "src": "1548:0:3" - }, - "scope": 839, - "src": "1432:358:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 353, - "nodeType": "Block", - "src": "1812:68:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 345, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1826:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1826:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 347, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1840:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1826:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c79206f776e657220616c6c6f776564", - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1847:20:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - }, - "value": "Only owner allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - } - ], - "id": 344, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1818:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1818:50:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 351, - "nodeType": "ExpressionStatement", - "src": "1818:50:3" - }, - { - "id": 352, - "nodeType": "PlaceholderStatement", - "src": "1874:1:3" - } - ] - }, - "documentation": null, - "id": 354, - "name": "_owner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 343, - "nodeType": "ParameterList", - "parameters": [], - "src": "1809:2:3" - }, - "src": "1794:86:3", - "visibility": "internal" - }, - { - "body": { - "id": 370, - "nodeType": "Block", - "src": "1913:145:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1934:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1934:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 359, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1948:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1934:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "1957:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 364, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1968:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1968:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1957:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1934:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564", - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1987:53:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - }, - "value": "ProxyIdentity: Only owner or approved agent allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - } - ], - "id": 356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1919:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1919:127:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 368, - "nodeType": "ExpressionStatement", - "src": "1919:127:3" - }, - { - "id": 369, - "nodeType": "PlaceholderStatement", - "src": "2052:1:3" - } - ] - }, - "documentation": null, - "id": 371, - "name": "isOwnerOrApproved", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 355, - "nodeType": "ParameterList", - "parameters": [], - "src": "1910:2:3" - }, - "src": "1884:174:3", - "visibility": "internal" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "2084:111:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2094:18:3", - "subExpression": { - "argumentTypes": null, - "id": 373, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "2095:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 379, - "nodeType": "IfStatement", - "src": "2090:93:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d6574686f642063616e20626520696e766f6b6564206f6e6c792061732070617274206f6620455243323233207472616e73666572", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2127:55:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - }, - "value": "Method can be invoked only as part of ERC223 transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - } - ], - "id": 375, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3539, - 3540 - ], - "referencedDeclaration": 3540, - "src": "2120:6:3", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2120:63:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 378, - "nodeType": "ExpressionStatement", - "src": "2120:63:3" - } - }, - { - "id": 380, - "nodeType": "PlaceholderStatement", - "src": "2189:1:3" - } - ] - }, - "documentation": null, - "id": 382, - "name": "tokenPayable", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [], - "src": "2084:0:3" - }, - "src": "2062:133:3", - "visibility": "internal" - }, - { - "body": { - "id": 402, - "nodeType": "Block", - "src": "2311:80:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 395, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 384, - "src": "2342:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 396, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "2349:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 397, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "2353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 394, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2325:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2325:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2361:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2317:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:69:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "2317:69:3" - } - ] - }, - "documentation": null, - "id": 403, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 391, - "modifierName": { - "argumentTypes": null, - "id": 390, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "2302:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2302:8:3" - } - ], - "name": "sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 384, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2229:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 383, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2229:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 386, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2253:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2253:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 388, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2269:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2269:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2223:63:3" - }, - "returnParameters": { - "id": 392, - "nodeType": "ParameterList", - "parameters": [], - "src": "2311:0:3" - }, - "scope": 839, - "src": "2199:192:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 482, - "nodeType": "Block", - "src": "2565:481:3", - "statements": [ - { - "assignments": [ - 421 - ], - "declarations": [ - { - "constant": false, - "id": 421, - "name": "digest", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2571:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 420, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2571:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 431, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 425, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2609:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 426, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "2615:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 427, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "2619:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 428, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "2626:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 423, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2598:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2598:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2598:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 422, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2588:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2588:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2571:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 433, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2647:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 435, - "indexExpression": { - "argumentTypes": null, - "id": 434, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2655:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2647:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2666:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2647:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e74", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2673:40:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - }, - "value": "This transaction has already been sent" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - } - ], - "id": 432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2639:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2639:75:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 440, - "nodeType": "ExpressionStatement", - "src": "2639:75:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 441, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2720:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 443, - "indexExpression": { - "argumentTypes": null, - "id": 442, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2728:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2720:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2738:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2720:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 446, - "nodeType": "ExpressionStatement", - "src": "2720:22:3" - }, - { - "assignments": [ - 448 - ], - "declarations": [ - { - "constant": false, - "id": 448, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2748:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 447, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 456, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2797:34:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "argumentTypes": null, - "id": 453, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2833:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 450, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2780:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2780:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2780:60:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 449, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2763:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2763:83:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2748:98:3" - }, - { - "assignments": [ - 458 - ], - "declarations": [ - { - "constant": false, - "id": 458, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2852:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2852:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 465, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 460, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "2879:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 461, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "2885:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 462, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "2888:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 463, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "2891:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 459, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3526, - "src": "2869:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2869:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2852:41:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 467, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 458, - "src": "2914:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 468, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "2924:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2914:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5369676e6174757265206973206e6f742076616c6964", - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2937:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - }, - "value": "Signature is not valid" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - } - ], - "id": 466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2899:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2899:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 472, - "nodeType": "ExpressionStatement", - "src": "2899:68:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 475, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2998:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 476, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "3004:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 477, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "3008:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 474, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2981:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2981:33:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3016:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2973:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2973:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 481, - "nodeType": "ExpressionStatement", - "src": "2973:68:3" - } - ] - }, - "documentation": null, - "id": 483, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendSignedTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 405, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2431:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 404, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2431:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 407, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2454:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2454:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 409, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2470:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 408, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2470:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 411, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2483:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 410, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2483:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 413, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2498:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 412, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 415, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2513:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2513:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 417, - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2532:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2532:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2425:124:3" - }, - "returnParameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [], - "src": "2565:0:3" - }, - "scope": 839, - "src": "2395:651:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 494, - "nodeType": "Block", - "src": "3105:33:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 491, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "3124:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 490, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "3111:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3111:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "3111:22:3" - } - ] - }, - "documentation": null, - "id": 495, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 488, - "modifierName": { - "argumentTypes": null, - "id": 487, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3096:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3096:8:3" - } - ], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 485, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 495, - "src": "3071:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3071:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3070:18:3" - }, - "returnParameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [], - "src": "3105:0:3" - }, - "scope": 839, - "src": "3050:88:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 513, - "nodeType": "Block", - "src": "3200:79:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 507, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3247:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3254:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 510, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "3265:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 503, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3215:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 502, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3206:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokeDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 215, - "src": "3206:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address) external" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 512, - "nodeType": "ExpressionStatement", - "src": "3206:68:3" - } - ] - }, - "documentation": null, - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 500, - "modifierName": { - "argumentTypes": null, - "id": 499, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3191:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3191:8:3" - } - ], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 497, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "3166:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 496, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3166:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3165:18:3" - }, - "returnParameters": { - "id": 501, - "nodeType": "ParameterList", - "parameters": [], - "src": "3200:0:3" - }, - "scope": 839, - "src": "3142:137:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 525, - "nodeType": "Block", - "src": "3347:27:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 521, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "3353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 522, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "3361:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3353:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 524, - "nodeType": "ExpressionStatement", - "src": "3353:16:3" - } - ] - }, - "documentation": null, - "id": 526, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 519, - "modifierName": { - "argumentTypes": null, - "id": 518, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3329:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3329:17:3" - } - ], - "name": "changeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 516, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 526, - "src": "3304:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3303:18:3" - }, - "returnParameters": { - "id": 520, - "nodeType": "ParameterList", - "parameters": [], - "src": "3347:0:3" - }, - "scope": 839, - "src": "3283:91:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 547, - "nodeType": "Block", - "src": "3444:98:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 533, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 535, - "indexExpression": { - "argumentTypes": null, - "id": 534, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3461:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3450:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3470:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3450:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 538, - "nodeType": "ExpressionStatement", - "src": "3450:24:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 543, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3525:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 540, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 539, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3480:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3480:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:57:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 546, - "nodeType": "ExpressionStatement", - "src": "3480:57:3" - } - ] - }, - "documentation": null, - "id": 548, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 531, - "modifierName": { - "argumentTypes": null, - "id": 530, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3426:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3426:17:3" - } - ], - "name": "addApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 528, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "3404:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 527, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3404:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3403:15:3" - }, - "returnParameters": { - "id": 532, - "nodeType": "ParameterList", - "parameters": [], - "src": "3444:0:3" - }, - "scope": 839, - "src": "3378:164:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 569, - "nodeType": "Block", - "src": "3615:100:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 555, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3621:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 557, - "indexExpression": { - "argumentTypes": null, - "id": 556, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3632:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3621:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3641:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3621:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3621:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 565, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3697:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3704:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 562, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3670:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 561, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3652:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3652:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:58:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 568, - "nodeType": "ExpressionStatement", - "src": "3652:58:3" - } - ] - }, - "documentation": null, - "id": 570, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 553, - "modifierName": { - "argumentTypes": null, - "id": 552, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3597:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3597:17:3" - } - ], - "name": "removeApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 550, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 570, - "src": "3575:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3575:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3574:15:3" - }, - "returnParameters": { - "id": 554, - "nodeType": "ParameterList", - "parameters": [], - "src": "3615:0:3" - }, - "scope": 839, - "src": "3546:169:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 582, - "nodeType": "Block", - "src": "3770:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3814:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 576, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3801:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 575, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3783:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "3783:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view external returns (string memory)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:34:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 574, - "id": 581, - "nodeType": "Return", - "src": "3776:41:3" - } - ] - }, - "documentation": null, - "id": 583, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 571, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:2:3" - }, - "returnParameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 573, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 583, - "src": "3755:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3755:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3754:15:3" - }, - "scope": 839, - "src": "3719:103:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 596, - "nodeType": "Block", - "src": "3872:57:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 592, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3915:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 593, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "3919:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 589, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3896:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 588, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3878:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateUri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1142, - "src": "3878:36:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "3878:46:3" - } - ] - }, - "documentation": null, - "id": 597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 597, - "src": "3845:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 584, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3845:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:20:3" - }, - "returnParameters": { - "id": 587, - "nodeType": "ParameterList", - "parameters": [], - "src": "3872:0:3" - }, - "scope": 839, - "src": "3826:103:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 614, - "nodeType": "Block", - "src": "4095:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 612, - "name": "ERC1155_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "4108:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 611, - "id": 613, - "nodeType": "Return", - "src": "4101:23:3" - } - ] - }, - "documentation": null, - "id": 615, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 599, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3965:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3965:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 601, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3988:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3988:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 603, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4007:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4007:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 605, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4024:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 607, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4044:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 606, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4044:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3959:109:3" - }, - "returnParameters": { - "id": 611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 610, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4087:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 609, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4087:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4086:8:3" - }, - "scope": 839, - "src": "3933:196:3", - "stateMutability": "nonpayable", - "superFunction": 2383, - "visibility": "external" - }, - { - "body": { - "id": 634, - "nodeType": "Block", - "src": "4324:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 632, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4337:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 631, - "id": 633, - "nodeType": "Return", - "src": "4330:29:3" - } - ] - }, - "documentation": null, - "id": 635, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 617, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4170:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4170:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 619, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4193:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4193:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 622, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4212:23:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4212:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 621, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4212:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 625, - "name": "_values", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4241:26:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 624, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4241:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 627, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4273:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 626, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4273:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4164:133:3" - }, - "returnParameters": { - "id": 631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 630, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4316:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 629, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4316:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4315:8:3" - }, - "scope": 839, - "src": "4133:231:3", - "stateMutability": "nonpayable", - "superFunction": 2400, - "visibility": "external" - }, - { - "body": { - "id": 662, - "nodeType": "Block", - "src": "4489:258:3", - "statements": [ - { - "assignments": [ - 647 - ], - "declarations": [ - { - "constant": false, - "id": 647, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4495:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 649, - "initialValue": { - "argumentTypes": null, - "id": 648, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4515:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4495:25:3" - }, - { - "assignments": [ - 651 - ], - "declarations": [ - { - "constant": false, - "id": 651, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4526:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4526:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 654, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 652, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "4540:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4540:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4526:25:3" - }, - { - "externalReferences": [ - { - "success": { - "declaration": 644, - "isOffset": false, - "isSlot": false, - "src": "4634:7:3", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 647, - "isOffset": false, - "isSlot": false, - "src": "4670:4:3", - "valueSize": 1 - } - }, - { - "to": { - "declaration": 639, - "isOffset": false, - "isSlot": false, - "src": "4655:2:3", - "valueSize": 1 - } - }, - { - "value": { - "declaration": 641, - "isOffset": false, - "isSlot": false, - "src": "4659:5:3", - "valueSize": 1 - } - }, - { - "len": { - "declaration": 651, - "isOffset": false, - "isSlot": false, - "src": "4683:3:3", - "valueSize": 1 - } - } - ], - "id": 655, - "nodeType": "InlineAssembly", - "operations": "{\n success := call(gas(), to, value, add(data, 0x20), len, 0, 0)\n}", - "src": "4617:82:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 657, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4725:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 658, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4732:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 659, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "4736:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 656, - "name": "TransactionSent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "4709:15:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (bytes memory,address,uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4709:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "EmitStatement", - "src": "4704:38:3" - } - ] - }, - "documentation": null, - "id": 663, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 637, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4399:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 636, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4399:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 639, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4423:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4423:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 641, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4439:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4393:63:3" - }, - "returnParameters": { - "id": 645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 644, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4475:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 643, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4475:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4474:14:3" - }, - "scope": 839, - "src": "4368:379:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 680, - "nodeType": "Block", - "src": "4800:123:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "4851:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4843:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4843:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4864:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 676, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "4881:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 677, - "name": "defaultValidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "4897:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 669, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4815:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 668, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "4806:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 206, - "src": "4806:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,address,uint256) external" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:112:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 679, - "nodeType": "ExpressionStatement", - "src": "4806:112:3" - } - ] - }, - "documentation": null, - "id": 681, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 665, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 681, - "src": "4773:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 664, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4773:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4772:18:3" - }, - "returnParameters": { - "id": 667, - "nodeType": "ParameterList", - "parameters": [], - "src": "4800:0:3" - }, - "scope": 839, - "src": "4751:172:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 684, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5021:63:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 682, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5021:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 687, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5271:77:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 685, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5271:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783465323331326530", - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5338:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1310921440_by_1", - "typeString": "int_const 1310921440" - }, - "value": "0x4e2312e0" - }, - "visibility": "private" - }, - { - "body": { - "id": 707, - "nodeType": "Block", - "src": "5641:180:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 694, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5658:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 695, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "5674:26:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5658:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 697, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5710:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 698, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "5726:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5710:56:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5658:108:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 704, - "nodeType": "IfStatement", - "src": "5647:152:3", - "trueBody": { - "id": 703, - "nodeType": "Block", - "src": "5773:26:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5788:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 693, - "id": 702, - "nodeType": "Return", - "src": "5781:11:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5811:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 693, - "id": 706, - "nodeType": "Return", - "src": "5804:12:3" - } - ] - }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 708, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 689, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5591:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 688, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5591:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5590:21:3" - }, - "returnParameters": { - "id": 693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 692, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5635:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5635:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5634:6:3" - }, - "scope": 839, - "src": "5564:257:3", - "stateMutability": "view", - "superFunction": 2417, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 716, - "name": "CallbackOnTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 710, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5850:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 709, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5850:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 712, - "indexed": false, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5862:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 711, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5862:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 714, - "indexed": false, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5876:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5876:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5849:42:3" - }, - "src": "5825:67:3" - }, - { - "body": { - "id": 763, - "nodeType": "Block", - "src": "6031:311:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6041:26:3", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 730, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6056:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6056:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 729, - "name": "supportsToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "6042:13:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6042:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 736, - "nodeType": "IfStatement", - "src": "6037:44:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6076:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 728, - "id": 735, - "nodeType": "Return", - "src": "6069:12:3" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 737, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6087:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6107:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6087:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 740, - "nodeType": "ExpressionStatement", - "src": "6087:24:3" - }, - { - "assignments": [ - 742, - null - ], - "declarations": [ - { - "constant": false, - "id": 742, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6178:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 741, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6178:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 749, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 747, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6223:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 744, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "6204:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6196:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6196:26:3", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6177:52:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 750, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6235:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6255:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6235:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 753, - "nodeType": "ExpressionStatement", - "src": "6235:25:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 755, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6290:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 756, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6297:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6306:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6306:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 754, - "name": "CallbackOnTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "6271:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_bool_$_t_address_$returns$__$", - "typeString": "function (bytes memory,bool,address)" - } - }, - "id": 759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6271:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 760, - "nodeType": "EmitStatement", - "src": "6266:51:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 761, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6330:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 728, - "id": 762, - "nodeType": "Return", - "src": "6323:14:3" - } - ] - }, - "documentation": null, - "id": 764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 718, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5924:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5924:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 720, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5945:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5945:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 722, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5966:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5966:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 724, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5986:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 723, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5986:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:90:3" - }, - "returnParameters": { - "id": 728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 727, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "6025:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 726, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6025:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6024:6:3" - }, - "scope": 839, - "src": "5896:446:3", - "stateMutability": "nonpayable", - "superFunction": 42, - "visibility": "public" - }, - { - "body": { - "id": 823, - "nodeType": "Block", - "src": "6416:202:3", - "statements": [ - { - "assignments": [ - 772 - ], - "declarations": [ - { - "constant": false, - "id": 772, - "name": "l", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "6422:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6422:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 781, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 773, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6434:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6434:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6449:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "6434:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6468:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "6434:35:3", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 777, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6453:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6453:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6422:47:3" - }, - { - "body": { - "id": 821, - "nodeType": "Block", - "src": "6507:107:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 792, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6515:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6551:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6544:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6544:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 799, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6564:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 800, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6570:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6558:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6558:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6577:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6581:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 805, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6586:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6590:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6586:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 808, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6594:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6586:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 810, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6585:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6581:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 812, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6580:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6577:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 814, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6576:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6558:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6544:54:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6537:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6537:62:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6521:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" - }, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6521:86:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "6515:92:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 820, - "nodeType": "ExpressionStatement", - "src": "6515:92:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 786, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6495:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 787, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6499:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 822, - "initializationExpression": { - "assignments": [ - 783 - ], - "declarations": [ - { - "constant": false, - "id": 783, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "6480:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6480:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 785, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6492:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6480:13:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6502:3:3", - "subExpression": { - "argumentTypes": null, - "id": 789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6502:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 791, - "nodeType": "ExpressionStatement", - "src": "6502:3:3" - }, - "nodeType": "ForStatement", - "src": "6475:139:3" - } - ] - }, - "documentation": null, - "id": 824, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 766, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6362:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 765, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6362:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6361:20:3" - }, - "returnParameters": { - "id": 770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 769, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6404:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 768, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "6404:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6403:12:3" - }, - "scope": 839, - "src": "6346:272:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 833, - "nodeType": "Block", - "src": "6687:22:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6700:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 830, - "id": 832, - "nodeType": "Return", - "src": "6693:11:3" - } - ] - }, - "documentation": null, - "id": 834, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 826, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6645:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6645:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6644:15:3" - }, - "returnParameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6681:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 828, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6681:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6680:6:3" - }, - "scope": 839, - "src": "6622:87:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 837, - "nodeType": "Block", - "src": "6741:2:3", - "statements": [] - }, - "documentation": null, - "id": 838, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 835, - "nodeType": "ParameterList", - "parameters": [], - "src": "6721:2:3" - }, - "returnParameters": { - "id": 836, - "nodeType": "ParameterList", - "parameters": [], - "src": "6741:0:3" - }, - "scope": 839, - "src": "6713:30:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "616:6129:3" - } - ], - "src": "0:6746:3" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-10-25T11:29:13.823Z", - "devdoc": { - "methods": { - "supportsInterface(bytes4)": { - "params": { - "_interfaceID": "The interface identifier, as specified in ERC-165" - }, - "return": "`true` if the contract implements `_interfaceID` and" - } - } - }, - "userdoc": { - "methods": { - "supportsInterface(bytes4)": { - "notice": "Query if a contract implements an interface" - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/Roles.json b/packages/proxyIdentity/build/contracts/Roles.json deleted file mode 100644 index 44d1e271..00000000 --- a/packages/proxyIdentity/build/contracts/Roles.json +++ /dev/null @@ -1,2176 +0,0 @@ -{ - "contractName": "Roles", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing addresses assigned to a Role.\",\"methods\":{},\"title\":\"Roles\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Roles.sol\":\"Roles\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]}},\"version\":1}", - "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582039084d75dacca7db7f67685c6cc9c024b978166fb9d97b0faddc3cefcf3d811364736f6c63430005110032", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582039084d75dacca7db7f67685c6cc9c024b978166fb9d97b0faddc3cefcf3d811364736f6c63430005110032", - "sourceMap": "108:873:9:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "108:873:9:-;;;;;;;;", - "source": "pragma solidity ^0.5.0;\n\n/**\n * @title Roles\n * @dev Library for managing addresses assigned to a Role.\n */\nlibrary Roles {\n struct Role {\n mapping (address => bool) bearer;\n }\n\n /**\n * @dev Give an account access to this role.\n */\n function add(Role storage role, address account) internal {\n require(!has(role, account), \"Roles: account already has role\");\n role.bearer[account] = true;\n }\n\n /**\n * @dev Remove an account's access to this role.\n */\n function remove(Role storage role, address account) internal {\n require(has(role, account), \"Roles: account does not have role\");\n role.bearer[account] = false;\n }\n\n /**\n * @dev Check if an account has this role.\n * @return bool\n */\n function has(Role storage role, address account) internal view returns (bool) {\n require(account != address(0), \"Roles: account is the zero address\");\n return role.bearer[account];\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/access/Roles.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/access/Roles.sol", - "exportedSymbols": { - "Roles": [ - 2019 - ] - }, - "id": 2020, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1940, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:9" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", - "fullyImplemented": true, - "id": 2019, - "linearizedBaseContracts": [ - 2019 - ], - "name": "Roles", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Roles.Role", - "id": 1945, - "members": [ - { - "constant": false, - "id": 1944, - "name": "bearer", - "nodeType": "VariableDeclaration", - "scope": 1945, - "src": "150:32:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1943, - "keyType": { - "id": 1941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "159:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "150:25:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1942, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "170:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Role", - "nodeType": "StructDefinition", - "scope": 2019, - "src": "128:61:9", - "visibility": "public" - }, - { - "body": { - "id": 1969, - "nodeType": "Block", - "src": "318:117:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "336:19:9", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1954, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "341:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - { - "argumentTypes": null, - "id": 1955, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "347:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1953, - "name": "has", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2018, - "src": "337:3:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "337:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420616c72656164792068617320726f6c65", - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "357:33:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0f76c3a3e97a37fcdff532c2741c10933ebf2b769d5475388e30ae4f7155f13a", - "typeString": "literal_string \"Roles: account already has role\"" - }, - "value": "Roles: account already has role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0f76c3a3e97a37fcdff532c2741c10933ebf2b769d5475388e30ae4f7155f13a", - "typeString": "literal_string \"Roles: account already has role\"" - } - ], - "id": 1952, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "328:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "328:63:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1960, - "nodeType": "ExpressionStatement", - "src": "328:63:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1961, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "401:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 1964, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "401:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1965, - "indexExpression": { - "argumentTypes": null, - "id": 1963, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "413:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "401:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "424:4:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "401:27:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1968, - "nodeType": "ExpressionStatement", - "src": "401:27:9" - } - ] - }, - "documentation": "@dev Give an account access to this role.", - "id": 1970, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1947, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 1970, - "src": "273:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1946, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "273:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1949, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 1970, - "src": "292:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1948, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "292:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:36:9" - }, - "returnParameters": { - "id": 1951, - "nodeType": "ParameterList", - "parameters": [], - "src": "318:0:9" - }, - "scope": 2019, - "src": "260:175:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1993, - "nodeType": "Block", - "src": "571:119:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1979, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "593:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - { - "argumentTypes": null, - "id": 1980, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1974, - "src": "599:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1978, - "name": "has", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2018, - "src": "589:3:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "589:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65", - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "609:35:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7bd893145ac435f339bb7c288622d270324b7033b011f693aca172f5cbc3c257", - "typeString": "literal_string \"Roles: account does not have role\"" - }, - "value": "Roles: account does not have role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7bd893145ac435f339bb7c288622d270324b7033b011f693aca172f5cbc3c257", - "typeString": "literal_string \"Roles: account does not have role\"" - } - ], - "id": 1977, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "581:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "581:64:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1984, - "nodeType": "ExpressionStatement", - "src": "581:64:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 1991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1985, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "655:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 1988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "655:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1989, - "indexExpression": { - "argumentTypes": null, - "id": 1987, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1974, - "src": "667:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "655:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "678:5:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "655:28:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1992, - "nodeType": "ExpressionStatement", - "src": "655:28:9" - } - ] - }, - "documentation": "@dev Remove an account's access to this role.", - "id": 1994, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1972, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "526:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1971, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "526:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1974, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "545:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1973, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "545:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "525:36:9" - }, - "returnParameters": { - "id": 1976, - "nodeType": "ParameterList", - "parameters": [], - "src": "571:0:9" - }, - "scope": 2019, - "src": "510:180:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2017, - "nodeType": "Block", - "src": "857:122:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2004, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "875:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "894: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": 2005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "886:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "886:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "875:21:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "898:36:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9d214fa89563f4e6456a3929327e54500ea1cde2c0ba9fb2035ec106190d682f", - "typeString": "literal_string \"Roles: account is the zero address\"" - }, - "value": "Roles: account is the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9d214fa89563f4e6456a3929327e54500ea1cde2c0ba9fb2035ec106190d682f", - "typeString": "literal_string \"Roles: account is the zero address\"" - } - ], - "id": 2003, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "867:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "867:68:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2011, - "nodeType": "ExpressionStatement", - "src": "867:68:9" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2012, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1996, - "src": "952:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 2013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "952:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2015, - "indexExpression": { - "argumentTypes": null, - "id": 2014, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "964:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "952:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2002, - "id": 2016, - "nodeType": "Return", - "src": "945:27:9" - } - ] - }, - "documentation": "@dev Check if an account has this role.\n@return bool", - "id": 2018, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "has", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1996, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "792:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1995, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "792:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1998, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "811:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1997, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "811:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "791:36:9" - }, - "returnParameters": { - "id": 2002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2001, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "851:4:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2000, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "851:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "850:6:9" - }, - "scope": 2019, - "src": "779:200:9", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2020, - "src": "108:873:9" - } - ], - "src": "0:982:9" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/access/Roles.sol", - "exportedSymbols": { - "Roles": [ - 2019 - ] - }, - "id": 2020, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1940, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:9" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", - "fullyImplemented": true, - "id": 2019, - "linearizedBaseContracts": [ - 2019 - ], - "name": "Roles", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Roles.Role", - "id": 1945, - "members": [ - { - "constant": false, - "id": 1944, - "name": "bearer", - "nodeType": "VariableDeclaration", - "scope": 1945, - "src": "150:32:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1943, - "keyType": { - "id": 1941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "159:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "150:25:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1942, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "170:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Role", - "nodeType": "StructDefinition", - "scope": 2019, - "src": "128:61:9", - "visibility": "public" - }, - { - "body": { - "id": 1969, - "nodeType": "Block", - "src": "318:117:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "336:19:9", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1954, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "341:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - { - "argumentTypes": null, - "id": 1955, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "347:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1953, - "name": "has", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2018, - "src": "337:3:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "337:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420616c72656164792068617320726f6c65", - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "357:33:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0f76c3a3e97a37fcdff532c2741c10933ebf2b769d5475388e30ae4f7155f13a", - "typeString": "literal_string \"Roles: account already has role\"" - }, - "value": "Roles: account already has role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0f76c3a3e97a37fcdff532c2741c10933ebf2b769d5475388e30ae4f7155f13a", - "typeString": "literal_string \"Roles: account already has role\"" - } - ], - "id": 1952, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "328:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "328:63:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1960, - "nodeType": "ExpressionStatement", - "src": "328:63:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1961, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "401:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 1964, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "401:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1965, - "indexExpression": { - "argumentTypes": null, - "id": 1963, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "413:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "401:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "424:4:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "401:27:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1968, - "nodeType": "ExpressionStatement", - "src": "401:27:9" - } - ] - }, - "documentation": "@dev Give an account access to this role.", - "id": 1970, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1947, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 1970, - "src": "273:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1946, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "273:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1949, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 1970, - "src": "292:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1948, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "292:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:36:9" - }, - "returnParameters": { - "id": 1951, - "nodeType": "ParameterList", - "parameters": [], - "src": "318:0:9" - }, - "scope": 2019, - "src": "260:175:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1993, - "nodeType": "Block", - "src": "571:119:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1979, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "593:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - { - "argumentTypes": null, - "id": 1980, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1974, - "src": "599:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1978, - "name": "has", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2018, - "src": "589:3:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "589:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65", - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "609:35:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7bd893145ac435f339bb7c288622d270324b7033b011f693aca172f5cbc3c257", - "typeString": "literal_string \"Roles: account does not have role\"" - }, - "value": "Roles: account does not have role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7bd893145ac435f339bb7c288622d270324b7033b011f693aca172f5cbc3c257", - "typeString": "literal_string \"Roles: account does not have role\"" - } - ], - "id": 1977, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "581:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "581:64:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1984, - "nodeType": "ExpressionStatement", - "src": "581:64:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 1991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1985, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "655:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 1988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "655:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1989, - "indexExpression": { - "argumentTypes": null, - "id": 1987, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1974, - "src": "667:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "655:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "678:5:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "655:28:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1992, - "nodeType": "ExpressionStatement", - "src": "655:28:9" - } - ] - }, - "documentation": "@dev Remove an account's access to this role.", - "id": 1994, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1972, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "526:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1971, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "526:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1974, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "545:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1973, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "545:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "525:36:9" - }, - "returnParameters": { - "id": 1976, - "nodeType": "ParameterList", - "parameters": [], - "src": "571:0:9" - }, - "scope": 2019, - "src": "510:180:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2017, - "nodeType": "Block", - "src": "857:122:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2004, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "875:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "894: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": 2005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "886:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "886:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "875:21:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "898:36:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9d214fa89563f4e6456a3929327e54500ea1cde2c0ba9fb2035ec106190d682f", - "typeString": "literal_string \"Roles: account is the zero address\"" - }, - "value": "Roles: account is the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9d214fa89563f4e6456a3929327e54500ea1cde2c0ba9fb2035ec106190d682f", - "typeString": "literal_string \"Roles: account is the zero address\"" - } - ], - "id": 2003, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "867:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "867:68:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2011, - "nodeType": "ExpressionStatement", - "src": "867:68:9" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2012, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1996, - "src": "952:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 2013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "952:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2015, - "indexExpression": { - "argumentTypes": null, - "id": 2014, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "964:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "952:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2002, - "id": 2016, - "nodeType": "Return", - "src": "945:27:9" - } - ] - }, - "documentation": "@dev Check if an account has this role.\n@return bool", - "id": 2018, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "has", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1996, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "792:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1995, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "792:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1998, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "811:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1997, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "811:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "791:36:9" - }, - "returnParameters": { - "id": 2002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2001, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "851:4:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2000, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "851:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "850:6:9" - }, - "scope": 2019, - "src": "779:200:9", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2020, - "src": "108:873:9" - } - ], - "src": "0:982:9" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.603Z", - "devdoc": { - "details": "Library for managing addresses assigned to a Role.", - "methods": {}, - "title": "Roles" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/SafeMath.json b/packages/proxyIdentity/build/contracts/SafeMath.json deleted file mode 100644 index 7568fe62..00000000 --- a/packages/proxyIdentity/build/contracts/SafeMath.json +++ /dev/null @@ -1,3508 +0,0 @@ -{ - "contractName": "SafeMath", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Unsigned math operations with safety checks that revert on error\",\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/utils/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158202eb9987cfd995b785a05d446b3e0c95a37dcf42440cb600872b937fe0a714eb364736f6c63430005110032", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158202eb9987cfd995b785a05d446b3e0c95a37dcf42440cb600872b937fe0a714eb364736f6c63430005110032", - "sourceMap": "127:1744:21:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "127:1744:21:-;;;;;;;;", - "source": "pragma solidity ^0.5.16;\n\n\n/**\n * @title SafeMath\n * @dev Unsigned math operations with safety checks that revert on error\n */\nlibrary SafeMath {\n\n /**\n * @dev Multiplies two unsigned integers, reverts on overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath#mul: OVERFLOW\");\n\n return c;\n }\n\n /**\n * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n // Solidity only automatically asserts when dividing by 0\n require(b > 0, \"SafeMath#div: DIVISION_BY_ZERO\");\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b <= a, \"SafeMath#sub: UNDERFLOW\");\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Adds two unsigned integers, reverts on overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath#add: OVERFLOW\");\n\n return c; \n }\n\n /**\n * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\n * reverts when dividing by zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b != 0, \"SafeMath#mod: DIVISION_BY_ZERO\");\n return a % b;\n }\n}", - "sourcePath": "multi-token-standard/contracts/utils/SafeMath.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/utils/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 3831 - ] - }, - "id": 3832, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3700, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:21" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath\n@dev Unsigned math operations with safety checks that revert on error", - "fullyImplemented": true, - "id": 3831, - "linearizedBaseContracts": [ - 3831 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3733, - "nodeType": "Block", - "src": "293:340:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3709, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "508:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "513:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "508:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3715, - "nodeType": "IfStatement", - "src": "504:35:21", - "trueBody": { - "id": 3714, - "nodeType": "Block", - "src": "516:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "531:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 3708, - "id": 3713, - "nodeType": "Return", - "src": "524:8:21" - } - ] - } - }, - { - "assignments": [ - 3717 - ], - "declarations": [ - { - "constant": false, - "id": 3717, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "545:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "545:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3721, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3718, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "557:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3719, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3704, - "src": "561:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "557:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "545:17:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3723, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3717, - "src": "576:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3724, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "580:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "576:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3726, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3704, - "src": "585:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "576:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236d756c3a204f564552464c4f57", - "id": 3728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "588:24:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6631eab3c1c1ec7659f8ce75290ab9f7fbbc49ae8d385122e795162bad662acd", - "typeString": "literal_string \"SafeMath#mul: OVERFLOW\"" - }, - "value": "SafeMath#mul: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6631eab3c1c1ec7659f8ce75290ab9f7fbbc49ae8d385122e795162bad662acd", - "typeString": "literal_string \"SafeMath#mul: OVERFLOW\"" - } - ], - "id": 3722, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "568:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "568:45:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3730, - "nodeType": "ExpressionStatement", - "src": "568:45:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3731, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3717, - "src": "627:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3708, - "id": 3732, - "nodeType": "Return", - "src": "620:8:21" - } - ] - }, - "documentation": "@dev Multiplies two unsigned integers, reverts on overflow.", - "id": 3734, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3702, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "239:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3704, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "250:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "238:22:21" - }, - "returnParameters": { - "id": 3708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3707, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "284:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "284:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "283:9:21" - }, - "scope": 3831, - "src": "226:407:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3758, - "nodeType": "Block", - "src": "822:241:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3744, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3738, - "src": "898:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "902:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "898:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236469763a204449564953494f4e5f42595f5a45524f", - "id": 3747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "905:32:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c36d9d3e0c4d13d4cdfb7baf0371eec71c6596edd2785d23eb0b323335405a7a", - "typeString": "literal_string \"SafeMath#div: DIVISION_BY_ZERO\"" - }, - "value": "SafeMath#div: DIVISION_BY_ZERO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c36d9d3e0c4d13d4cdfb7baf0371eec71c6596edd2785d23eb0b323335405a7a", - "typeString": "literal_string \"SafeMath#div: DIVISION_BY_ZERO\"" - } - ], - "id": 3743, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "890:48:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3749, - "nodeType": "ExpressionStatement", - "src": "890:48:21" - }, - { - "assignments": [ - 3751 - ], - "declarations": [ - { - "constant": false, - "id": 3751, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3758, - "src": "944:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "944:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3755, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3752, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3736, - "src": "956:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3753, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3738, - "src": "960:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "956:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "944:17:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3756, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "1057:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3742, - "id": 3757, - "nodeType": "Return", - "src": "1050:8:21" - } - ] - }, - "documentation": "@dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.", - "id": 3759, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3736, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "768:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "768:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3738, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "779:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "767:22:21" - }, - "returnParameters": { - "id": 3742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3741, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "813:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "813:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "812:9:21" - }, - "scope": 3831, - "src": "755:308:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3783, - "nodeType": "Block", - "src": "1255:91:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3769, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3763, - "src": "1269:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3770, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3761, - "src": "1274:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1269:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468237375623a20554e444552464c4f57", - "id": 3772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1277:25:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4c9bc0c7d77a5da304a056b5a05f28805364acf05afb77358700a2ddca1b6a79", - "typeString": "literal_string \"SafeMath#sub: UNDERFLOW\"" - }, - "value": "SafeMath#sub: UNDERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4c9bc0c7d77a5da304a056b5a05f28805364acf05afb77358700a2ddca1b6a79", - "typeString": "literal_string \"SafeMath#sub: UNDERFLOW\"" - } - ], - "id": 3768, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1261:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1261:42:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3774, - "nodeType": "ExpressionStatement", - "src": "1261:42:21" - }, - { - "assignments": [ - 3776 - ], - "declarations": [ - { - "constant": false, - "id": 3776, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3783, - "src": "1309:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3780, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3777, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3761, - "src": "1321:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3778, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3763, - "src": "1325:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1321:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1309:17:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3781, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "1340:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3767, - "id": 3782, - "nodeType": "Return", - "src": "1333:8:21" - } - ] - }, - "documentation": "@dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 3784, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3761, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1201:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1201:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3763, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1212:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1212:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1200:22:21" - }, - "returnParameters": { - "id": 3767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3766, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1246:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1246:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1245:9:21" - }, - "scope": 3831, - "src": "1188:158:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3808, - "nodeType": "Block", - "src": "1488:91:21", - "statements": [ - { - "assignments": [ - 3794 - ], - "declarations": [ - { - "constant": false, - "id": 3794, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3808, - "src": "1494:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1494:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3798, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3795, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "1506:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 3796, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "1510:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1506:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1494:17:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3800, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "1525:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3801, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "1530:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1525:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236164643a204f564552464c4f57", - "id": 3803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1533:24:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dfa65337becd76e1bb13ca279a5adb7e6d420bd3575b95dc9a0cf7916fd026a9", - "typeString": "literal_string \"SafeMath#add: OVERFLOW\"" - }, - "value": "SafeMath#add: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dfa65337becd76e1bb13ca279a5adb7e6d420bd3575b95dc9a0cf7916fd026a9", - "typeString": "literal_string \"SafeMath#add: OVERFLOW\"" - } - ], - "id": 3799, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1517:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1517:41:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3805, - "nodeType": "ExpressionStatement", - "src": "1517:41:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3806, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "1572:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3792, - "id": 3807, - "nodeType": "Return", - "src": "1565:8:21" - } - ] - }, - "documentation": "@dev Adds two unsigned integers, reverts on overflow.", - "id": 3809, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3786, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1434:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3788, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1445:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1433:22:21" - }, - "returnParameters": { - "id": 3792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1479:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1479:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1478:9:21" - }, - "scope": 3831, - "src": "1421:158:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3829, - "nodeType": "Block", - "src": "1791:78:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3819, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3813, - "src": "1805:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1810:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1805:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236d6f643a204449564953494f4e5f42595f5a45524f", - "id": 3822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1813:32:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a256b7344a652b5cff3e03273f3d555fff1b779178b16912d34a22114f40f78b", - "typeString": "literal_string \"SafeMath#mod: DIVISION_BY_ZERO\"" - }, - "value": "SafeMath#mod: DIVISION_BY_ZERO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a256b7344a652b5cff3e03273f3d555fff1b779178b16912d34a22114f40f78b", - "typeString": "literal_string \"SafeMath#mod: DIVISION_BY_ZERO\"" - } - ], - "id": 3818, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1797:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1797:49:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3824, - "nodeType": "ExpressionStatement", - "src": "1797:49:21" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3825, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3811, - "src": "1859:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 3826, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3813, - "src": "1863:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1859:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3817, - "id": 3828, - "nodeType": "Return", - "src": "1852:12:21" - } - ] - }, - "documentation": "@dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 3830, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3811, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1737:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1737:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3813, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1748:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1736:22:21" - }, - "returnParameters": { - "id": 3817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3816, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1782:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1782:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1781:9:21" - }, - "scope": 3831, - "src": "1724:145:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3832, - "src": "127:1744:21" - } - ], - "src": "0:1871:21" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/utils/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 3831 - ] - }, - "id": 3832, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3700, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:21" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath\n@dev Unsigned math operations with safety checks that revert on error", - "fullyImplemented": true, - "id": 3831, - "linearizedBaseContracts": [ - 3831 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3733, - "nodeType": "Block", - "src": "293:340:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3709, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "508:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "513:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "508:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3715, - "nodeType": "IfStatement", - "src": "504:35:21", - "trueBody": { - "id": 3714, - "nodeType": "Block", - "src": "516:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "531:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 3708, - "id": 3713, - "nodeType": "Return", - "src": "524:8:21" - } - ] - } - }, - { - "assignments": [ - 3717 - ], - "declarations": [ - { - "constant": false, - "id": 3717, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "545:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "545:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3721, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3718, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "557:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3719, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3704, - "src": "561:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "557:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "545:17:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3723, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3717, - "src": "576:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3724, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "580:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "576:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3726, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3704, - "src": "585:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "576:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236d756c3a204f564552464c4f57", - "id": 3728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "588:24:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6631eab3c1c1ec7659f8ce75290ab9f7fbbc49ae8d385122e795162bad662acd", - "typeString": "literal_string \"SafeMath#mul: OVERFLOW\"" - }, - "value": "SafeMath#mul: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6631eab3c1c1ec7659f8ce75290ab9f7fbbc49ae8d385122e795162bad662acd", - "typeString": "literal_string \"SafeMath#mul: OVERFLOW\"" - } - ], - "id": 3722, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "568:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "568:45:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3730, - "nodeType": "ExpressionStatement", - "src": "568:45:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3731, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3717, - "src": "627:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3708, - "id": 3732, - "nodeType": "Return", - "src": "620:8:21" - } - ] - }, - "documentation": "@dev Multiplies two unsigned integers, reverts on overflow.", - "id": 3734, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3702, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "239:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3704, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "250:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "238:22:21" - }, - "returnParameters": { - "id": 3708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3707, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "284:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "284:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "283:9:21" - }, - "scope": 3831, - "src": "226:407:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3758, - "nodeType": "Block", - "src": "822:241:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3744, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3738, - "src": "898:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "902:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "898:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236469763a204449564953494f4e5f42595f5a45524f", - "id": 3747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "905:32:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c36d9d3e0c4d13d4cdfb7baf0371eec71c6596edd2785d23eb0b323335405a7a", - "typeString": "literal_string \"SafeMath#div: DIVISION_BY_ZERO\"" - }, - "value": "SafeMath#div: DIVISION_BY_ZERO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c36d9d3e0c4d13d4cdfb7baf0371eec71c6596edd2785d23eb0b323335405a7a", - "typeString": "literal_string \"SafeMath#div: DIVISION_BY_ZERO\"" - } - ], - "id": 3743, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "890:48:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3749, - "nodeType": "ExpressionStatement", - "src": "890:48:21" - }, - { - "assignments": [ - 3751 - ], - "declarations": [ - { - "constant": false, - "id": 3751, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3758, - "src": "944:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "944:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3755, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3752, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3736, - "src": "956:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3753, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3738, - "src": "960:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "956:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "944:17:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3756, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "1057:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3742, - "id": 3757, - "nodeType": "Return", - "src": "1050:8:21" - } - ] - }, - "documentation": "@dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.", - "id": 3759, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3736, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "768:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "768:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3738, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "779:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "767:22:21" - }, - "returnParameters": { - "id": 3742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3741, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "813:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "813:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "812:9:21" - }, - "scope": 3831, - "src": "755:308:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3783, - "nodeType": "Block", - "src": "1255:91:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3769, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3763, - "src": "1269:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3770, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3761, - "src": "1274:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1269:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468237375623a20554e444552464c4f57", - "id": 3772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1277:25:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4c9bc0c7d77a5da304a056b5a05f28805364acf05afb77358700a2ddca1b6a79", - "typeString": "literal_string \"SafeMath#sub: UNDERFLOW\"" - }, - "value": "SafeMath#sub: UNDERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4c9bc0c7d77a5da304a056b5a05f28805364acf05afb77358700a2ddca1b6a79", - "typeString": "literal_string \"SafeMath#sub: UNDERFLOW\"" - } - ], - "id": 3768, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1261:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1261:42:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3774, - "nodeType": "ExpressionStatement", - "src": "1261:42:21" - }, - { - "assignments": [ - 3776 - ], - "declarations": [ - { - "constant": false, - "id": 3776, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3783, - "src": "1309:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3780, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3777, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3761, - "src": "1321:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3778, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3763, - "src": "1325:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1321:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1309:17:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3781, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "1340:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3767, - "id": 3782, - "nodeType": "Return", - "src": "1333:8:21" - } - ] - }, - "documentation": "@dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 3784, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3761, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1201:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1201:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3763, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1212:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1212:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1200:22:21" - }, - "returnParameters": { - "id": 3767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3766, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1246:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1246:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1245:9:21" - }, - "scope": 3831, - "src": "1188:158:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3808, - "nodeType": "Block", - "src": "1488:91:21", - "statements": [ - { - "assignments": [ - 3794 - ], - "declarations": [ - { - "constant": false, - "id": 3794, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3808, - "src": "1494:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1494:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3798, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3795, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "1506:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 3796, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "1510:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1506:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1494:17:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3800, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "1525:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3801, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "1530:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1525:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236164643a204f564552464c4f57", - "id": 3803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1533:24:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dfa65337becd76e1bb13ca279a5adb7e6d420bd3575b95dc9a0cf7916fd026a9", - "typeString": "literal_string \"SafeMath#add: OVERFLOW\"" - }, - "value": "SafeMath#add: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dfa65337becd76e1bb13ca279a5adb7e6d420bd3575b95dc9a0cf7916fd026a9", - "typeString": "literal_string \"SafeMath#add: OVERFLOW\"" - } - ], - "id": 3799, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1517:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1517:41:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3805, - "nodeType": "ExpressionStatement", - "src": "1517:41:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3806, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "1572:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3792, - "id": 3807, - "nodeType": "Return", - "src": "1565:8:21" - } - ] - }, - "documentation": "@dev Adds two unsigned integers, reverts on overflow.", - "id": 3809, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3786, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1434:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3788, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1445:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1433:22:21" - }, - "returnParameters": { - "id": 3792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1479:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1479:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1478:9:21" - }, - "scope": 3831, - "src": "1421:158:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3829, - "nodeType": "Block", - "src": "1791:78:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3819, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3813, - "src": "1805:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1810:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1805:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236d6f643a204449564953494f4e5f42595f5a45524f", - "id": 3822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1813:32:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a256b7344a652b5cff3e03273f3d555fff1b779178b16912d34a22114f40f78b", - "typeString": "literal_string \"SafeMath#mod: DIVISION_BY_ZERO\"" - }, - "value": "SafeMath#mod: DIVISION_BY_ZERO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a256b7344a652b5cff3e03273f3d555fff1b779178b16912d34a22114f40f78b", - "typeString": "literal_string \"SafeMath#mod: DIVISION_BY_ZERO\"" - } - ], - "id": 3818, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1797:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1797:49:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3824, - "nodeType": "ExpressionStatement", - "src": "1797:49:21" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3825, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3811, - "src": "1859:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 3826, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3813, - "src": "1863:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1859:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3817, - "id": 3828, - "nodeType": "Return", - "src": "1852:12:21" - } - ] - }, - "documentation": "@dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 3830, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3811, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1737:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1737:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3813, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1748:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1736:22:21" - }, - "returnParameters": { - "id": 3817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3816, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1782:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1782:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1781:9:21" - }, - "scope": 3831, - "src": "1724:145:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3832, - "src": "127:1744:21" - } - ], - "src": "0:1871:21" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.607Z", - "devdoc": { - "details": "Unsigned math operations with safety checks that revert on error", - "methods": {}, - "title": "SafeMath" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC1056.json b/packages/proxyIdentity/constants/ERC1056.json similarity index 100% rename from packages/proxyIdentity/build/contracts/ERC1056.json rename to packages/proxyIdentity/constants/ERC1056.json diff --git a/packages/proxyIdentity/constants/EthereumDIDRegistry.ts b/packages/proxyIdentity/constants/EthereumDIDRegistry.ts deleted file mode 100644 index 1e410031..00000000 --- a/packages/proxyIdentity/constants/EthereumDIDRegistry.ts +++ /dev/null @@ -1,516 +0,0 @@ -export const ethrReg = { - contractName: 'EthereumDIDRegistry', - abi: [ - { - constant: true, - inputs: [ - { - name: '', - type: 'address', - }, - ], - name: 'owners', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '', - type: 'address', - }, - { - name: '', - type: 'bytes32', - }, - { - name: '', - type: 'address', - }, - ], - name: 'delegates', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '', - type: 'address', - }, - ], - name: 'nonce', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '', - type: 'address', - }, - ], - name: 'changed', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - name: 'identity', - type: 'address', - }, - { - indexed: false, - name: 'owner', - type: 'address', - }, - { - indexed: false, - name: 'previousChange', - type: 'uint256', - }, - ], - name: 'DIDOwnerChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - name: 'identity', - type: 'address', - }, - { - indexed: false, - name: 'delegateType', - type: 'bytes32', - }, - { - indexed: false, - name: 'delegate', - type: 'address', - }, - { - indexed: false, - name: 'validTo', - type: 'uint256', - }, - { - indexed: false, - name: 'previousChange', - type: 'uint256', - }, - ], - name: 'DIDDelegateChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - name: 'identity', - type: 'address', - }, - { - indexed: false, - name: 'name', - type: 'bytes32', - }, - { - indexed: false, - name: 'value', - type: 'bytes', - }, - { - indexed: false, - name: 'validTo', - type: 'uint256', - }, - { - indexed: false, - name: 'previousChange', - type: 'uint256', - }, - ], - name: 'DIDAttributeChanged', - type: 'event', - }, - { - constant: true, - inputs: [ - { - name: 'identity', - type: 'address', - }, - ], - name: 'identityOwner', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'delegateType', - type: 'bytes32', - }, - { - name: 'delegate', - type: 'address', - }, - ], - name: 'validDelegate', - outputs: [ - { - name: '', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'newOwner', - type: 'address', - }, - ], - name: 'changeOwner', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'sigV', - type: 'uint8', - }, - { - name: 'sigR', - type: 'bytes32', - }, - { - name: 'sigS', - type: 'bytes32', - }, - { - name: 'newOwner', - type: 'address', - }, - ], - name: 'changeOwnerSigned', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'delegateType', - type: 'bytes32', - }, - { - name: 'delegate', - type: 'address', - }, - { - name: 'validity', - type: 'uint256', - }, - ], - name: 'addDelegate', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'sigV', - type: 'uint8', - }, - { - name: 'sigR', - type: 'bytes32', - }, - { - name: 'sigS', - type: 'bytes32', - }, - { - name: 'delegateType', - type: 'bytes32', - }, - { - name: 'delegate', - type: 'address', - }, - { - name: 'validity', - type: 'uint256', - }, - ], - name: 'addDelegateSigned', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'delegateType', - type: 'bytes32', - }, - { - name: 'delegate', - type: 'address', - }, - ], - name: 'revokeDelegate', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'sigV', - type: 'uint8', - }, - { - name: 'sigR', - type: 'bytes32', - }, - { - name: 'sigS', - type: 'bytes32', - }, - { - name: 'delegateType', - type: 'bytes32', - }, - { - name: 'delegate', - type: 'address', - }, - ], - name: 'revokeDelegateSigned', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'name', - type: 'bytes32', - }, - { - name: 'value', - type: 'bytes', - }, - { - name: 'validity', - type: 'uint256', - }, - ], - name: 'setAttribute', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'sigV', - type: 'uint8', - }, - { - name: 'sigR', - type: 'bytes32', - }, - { - name: 'sigS', - type: 'bytes32', - }, - { - name: 'name', - type: 'bytes32', - }, - { - name: 'value', - type: 'bytes', - }, - { - name: 'validity', - type: 'uint256', - }, - ], - name: 'setAttributeSigned', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'name', - type: 'bytes32', - }, - { - name: 'value', - type: 'bytes', - }, - ], - name: 'revokeAttribute', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'sigV', - type: 'uint8', - }, - { - name: 'sigR', - type: 'bytes32', - }, - { - name: 'sigS', - type: 'bytes32', - }, - { - name: 'name', - type: 'bytes32', - }, - { - name: 'value', - type: 'bytes', - }, - ], - name: 'revokeAttributeSigned', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - ], - bytecode: '0x608060405234801561001057600080fd5b50612273806100206000396000f3006080604052600436106100e5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062c023da146100ea578063022914a7146101815780630d44625b14610204578063123b5e9814610289578063240cf1fa14610353578063622b2a3c146103df57806370ae92d2146104685780637ad4b0a4146104bf57806380b29f7c146105605780638733d4e8146105d157806393072684146106545780639c2c1b2b146106ee578063a7068d6614610792578063e476af5c1461080d578063f00d4b5d146108cd578063f96d0f9f14610930575b600080fd5b3480156100f657600080fd5b5061017f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610987565b005b34801561018d57600080fd5b506101c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610998565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021057600080fd5b50610273600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109cb565b6040518082815260200191505060405180910390f35b34801561029557600080fd5b50610351600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001909291905050506109fd565b005b34801561035f57600080fd5b506103dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c72565b005b3480156103eb57600080fd5b5061044e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec1565b604051808215151515815260200191505060405180910390f35b34801561047457600080fd5b506104a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f86565b6040518082815260200191505060405180910390f35b3480156104cb57600080fd5b5061055e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610f9e565b005b34801561056c57600080fd5b506105cf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fb1565b005b3480156105dd57600080fd5b50610612600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fc2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066057600080fd5b506106ec600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611058565b005b3480156106fa57600080fd5b50610790600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112b9565b005b34801561079e57600080fd5b5061080b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611524565b005b34801561081957600080fd5b506108cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611537565b005b3480156108d957600080fd5b5061092e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117a2565b005b34801561093c57600080fd5b50610971600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b6040518082815260200191505060405180910390f35b610993833384846117c9565b505050565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f01000000000000000000000000000000000000000000000000000000000000000230600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548b88888860405180897effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101887effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401807f7365744174747269627574650000000000000000000000000000000000000000815250600c01846000191660001916815260200183805190602001908083835b602083101515610c135780518252602082019150602081019050602083039250610bee565b6001836020036101000a0380198251168184511680821785525050505050509050018281526020019850505050505050505060405180910390209050610c6888610c608a8a8a8a8761196c565b868686611a90565b5050505050505050565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023060036000610cca8b610fc2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054898660405180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401807f6368616e67654f776e6572000000000000000000000000000000000000000000815250600b018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401965050505050505060405180910390209050610eb986610eb3888888888761196c565b84611c35565b505050505050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008560405180826000191660001916815260200191505060405180910390206000191660001916815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490504281119150509392505050565b60036020528060005260406000206000915090505481565b610fab8433858585611a90565b50505050565b610fbd83338484611e02565b505050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1614151561104e57809150611052565b8291505b50919050565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f01000000000000000000000000000000000000000000000000000000000000000230600360006110b08c610fc2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548a878760405180887effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401807f7265766f6b6544656c6567617465000000000000000000000000000000000000815250600e0183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401975050505050505050604051809103902090506112b0876112a9898989898761196c565b8585611e02565b50505050505050565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f01000000000000000000000000000000000000000000000000000000000000000230600360006113118d610fc2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548b88888860405180897effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101887effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401807f61646444656c6567617465000000000000000000000000000000000000000000815250600b0184600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001985050505050505050506040518091039020905061151a886115128a8a8a8a8761196c565b868686612022565b5050505050505050565b6115318433858585612022565b50505050565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f01000000000000000000000000000000000000000000000000000000000000000230600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548a878760405180887effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401807f7265766f6b654174747269627574650000000000000000000000000000000000815250600f01836000191660001916815260200182805190602001908083835b60208310151561174c5780518252602082019150602081019050602083039250611727565b6001836020036101000a0380198251168184511680821785525050505050509050019750505050505050506040518091039020905061179987611792898989898761196c565b85856117c9565b50505050505050565b6117ad823383611c35565b5050565b60026020528060005260406000206000915090505481565b83836117d482610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561180d57600080fd5b8573ffffffffffffffffffffffffffffffffffffffff167f18ab6b2ae3d64306c00ce663125f2bd680e441a098de1635bd7ad8b0d44965e485856000600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405180856000191660001916815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156118e35780820151818401526020810190506118c8565b50505050905090810190601f1680156119105780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a243600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050565b600080600183878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156119e6573d6000803e3d6000fd5b5050506020604051035190506119fb87610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611a3457600080fd5b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055508091505095945050505050565b8484611a9b82610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611ad457600080fd5b8673ffffffffffffffffffffffffffffffffffffffff167f18ab6b2ae3d64306c00ce663125f2bd680e441a098de1635bd7ad8b0d44965e48686864201600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405180856000191660001916815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015611bab578082015181840152602081019050611b90565b50505050905090810190601f168015611bd85780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a243600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050565b8282611c4082610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611c7957600080fd5b826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508473ffffffffffffffffffffffffffffffffffffffff167f38a5a6e68f30ed1ab45860a4afb34bcb2fc00f22ca462d249b8a8d40cda6f7a384600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a243600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b8383611e0d82610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611e4657600080fd5b42600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008660405180826000191660001916815260200191505060405180910390206000191660001916815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff167f5a5084339536bcab65f20799fcc58724588145ca054bd2be626174b27ba156f7858542600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a243600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050565b848461202d82610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561206657600080fd5b824201600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008760405180826000191660001916815260200191505060405180910390206000191660001916815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff167f5a5084339536bcab65f20799fcc58724588145ca054bd2be626174b27ba156f78686864201600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a243600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050505600a165627a7a72305820ce15794c08edea0fae7ce9c85210f71a312b60c8d5cb2e5fd716c2adcd7403c70029', - compiler: { - name: 'solc', - version: '0.4.24+commit.e67f0147.Emscripten.clang', - }, - schemaVersion: '2.0.0', - updatedAt: '2019-06-00T00:00:00.000Z', -}; diff --git a/packages/proxyIdentity/contracts/IdentityManager.sol b/packages/proxyIdentity/contracts/IdentityManager.sol new file mode 100644 index 00000000..c29728f1 --- /dev/null +++ b/packages/proxyIdentity/contracts/IdentityManager.sol @@ -0,0 +1,53 @@ +pragma solidity 0.8.0; + + +contract IdentityManager { + event IdentityCreated(address identity, address owner, uint256 at); + event IdentityOffered(address identity, address offeredTo, uint256 at); + event IdentityTransferred(address identity, address owner, uint256 at); + event IdentityOfferRejected(address identity, address offeredTo, uint256 at); + event IdentityOfferCanceled(address identity, address oferedto, uint256 at); + + modifier isIdentity(address sender, address identity) { + require( + sender == identity, + "Identity callback must be invoked by identity" + ); + _; + } + + function identityCreated(address identity, address owner) + external + isIdentity(msg.sender, identity) + { + emit IdentityCreated(identity, owner, block.timestamp); + } + + function identityOffered(address identity, address offeredTo) + external + isIdentity(msg.sender, identity) + { + emit IdentityOffered(identity, offeredTo, block.timestamp); + } + + function identityAccepted(address identity, address owner) + external + isIdentity(msg.sender, identity) + { + emit IdentityTransferred(identity, owner, block.timestamp); + } + + function identityRejected(address identity, address offeredTo) + external + isIdentity(msg.sender, identity) + { + emit IdentityOfferRejected(identity, offeredTo, block.timestamp); + } + + function identityOfferCanceled(address identity, address offeredTo) + external + isIdentity(msg.sender, identity) + { + emit IdentityOfferCanceled(identity, offeredTo, block.timestamp); + } +} diff --git a/packages/proxyIdentity/contracts/interfaces/IERC223.sol b/packages/proxyIdentity/contracts/interfaces/IERC223.sol deleted file mode 100644 index ce2bb9ad..00000000 --- a/packages/proxyIdentity/contracts/interfaces/IERC223.sol +++ /dev/null @@ -1,19 +0,0 @@ -pragma solidity ^0.5.0; - -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; - - -interface IERC223 { - function transfer( - address to, - uint256 value, - bytes calldata data - ) external returns (bool); - - function transferFrom( - address from, - address to, - uint256 value, - bytes calldata data - ) external returns (bool); -} diff --git a/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol b/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol deleted file mode 100644 index bb8671e7..00000000 --- a/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol +++ /dev/null @@ -1,11 +0,0 @@ -pragma solidity ^0.5.0; - - -interface IERC223Receiver { - function tokenFallback( - address _sender, - address _origin, - uint256 _value, - bytes calldata _data - ) external returns (bool); -} diff --git a/packages/proxyIdentity/contracts/offerableIdentity.sol b/packages/proxyIdentity/contracts/offerableIdentity.sol new file mode 100644 index 00000000..aef272a7 --- /dev/null +++ b/packages/proxyIdentity/contracts/offerableIdentity.sol @@ -0,0 +1,70 @@ +pragma solidity 0.8.0; + +import "./IdentityManager.sol"; + + +contract OfferableIdentity { + address public owner; + address manager; + + address public offeredTo; + + event TransactionSent(bytes data, address to, uint256 value); + + constructor(address _owner, address _manager) { + owner = _owner; + manager = _manager; + IdentityManager(manager).identityCreated(address(this), owner); + } + + modifier isOwner() { + require(msg.sender == owner, "Only owner allowed"); + _; + } + + modifier isOfferedTo() { + require(offeredTo != address(0), "Proxy is not offered"); + require(msg.sender == offeredTo, "Proxy offered to other account"); + _; + } + + function offer(address _offeredTo) external isOwner { + offeredTo = _offeredTo; + IdentityManager(manager).identityOffered(address(this), offeredTo); + } + + function acceptOffer() external isOfferedTo { + owner = offeredTo; + IdentityManager(manager).identityAccepted(address(this), offeredTo); + closeOffer(); + } + + function rejectOffer() external isOfferedTo { + IdentityManager(manager).identityRejected(address(this), offeredTo); + closeOffer(); + } + + function cancelOffer() external isOwner { + closeOffer(); + + IdentityManager(manager).identityOfferCanceled(address(this), offeredTo); + } + + function closeOffer() internal { + offeredTo = address(0); + } + + function sendTransaction(bytes memory _data, address to, uint256 value) + public + isOwner + returns (bool success) + { + bytes memory data = _data; + uint256 len = data.length; + // solium-disable-next-line security/no-inline-assembly + assembly { + success := call(gas(), to, value, add(data, 0x20), len, 0, 0) + } + emit TransactionSent(_data, to, value); + } +} diff --git a/packages/proxyIdentity/contracts/proxyFactory.sol b/packages/proxyIdentity/contracts/proxyFactory.sol deleted file mode 100644 index ada513a0..00000000 --- a/packages/proxyIdentity/contracts/proxyFactory.sol +++ /dev/null @@ -1,36 +0,0 @@ -pragma solidity ^0.5.0; -pragma experimental ABIEncoderV2; - -import {ProxyIdentity} from "./proxyIdentity.sol"; - -contract ProxyFactory { - address erc1056; - address erc1155; - ProxyIdentity[] proxies; - mapping(address => bool) identities; - event ProxyCreated(address proxy); - event BatchProxyCreated(address[] newProxies); - - constructor(address _erc1056, address _erc1155) public { - erc1056 = _erc1056; - erc1155 = _erc1155; - } - - function create(string memory serial) public returns (address) { - ProxyIdentity proxy = new ProxyIdentity(erc1056, erc1155, serial, msg.sender); - proxies.push(proxy); - emit ProxyCreated(address(proxy)); - return address(proxy); - } - - function createBatch(string[] memory serials) public returns (address[] memory) { - address[] memory newProxies = new address[](serials.length); - for (uint256 i = 0; i < serials.length; i++) { - ProxyIdentity proxy = new ProxyIdentity(erc1056, erc1155, serials[i], msg.sender); - proxies.push(proxy); - newProxies[i] = address(proxy); - } - emit BatchProxyCreated(newProxies); - return newProxies; - } -} diff --git a/packages/proxyIdentity/contracts/proxyIdentity.sol b/packages/proxyIdentity/contracts/proxyIdentity.sol deleted file mode 100644 index b039c841..00000000 --- a/packages/proxyIdentity/contracts/proxyIdentity.sol +++ /dev/null @@ -1,249 +0,0 @@ -pragma solidity ^0.5.0; - -import "multi-token-standard/contracts/interfaces/IERC165.sol"; -import "multi-token-standard/contracts/interfaces/IERC1155.sol"; -import "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol"; -import "./interfaces/IERC223Receiver.sol"; -import "./interfaces/IERC223.sol"; -import "./tokens/ERC1155Multiproxy.sol"; - -interface IERC1056 { - function addDelegate( - address identity, - bytes32 delegateType, - address delegate, - uint256 validity - ) external; - - function revokeDelegate( - address identity, - bytes32 delegateType, - address delegate - ) external; -} - -contract ProxyIdentity is IERC1155TokenReceiver, IERC165, IERC223Receiver { - address public owner; - address public creator; - address[] public agents; - address public erc1056; - address public erc1155; - uint256 defaultValidity = 2**256 - 1; - mapping(bytes32 => bool) digests; - bytes4 internal constant ERC1155_ACCEPTED = 0xf23a6e61; - bytes4 internal constant ERC1155_BATCH_ACCEPTED = 0xbc197c81; - Tkn tkn; - bool __isTokenFallback; - string public serial; - uint256 public id; - mapping(address => bool) public isApproved; - - struct Tkn { - address addr; - address sender; - address origin; - uint256 value; - bytes data; - bytes4 sig; - } - - event TransactionSent(bytes data, address to, uint256 value); - event ApprovedAgentAdded(address agent); - event ApprovedAgentRemoved(address agent); - - constructor( - address _erc1056, - address _erc1155, - string memory _serial, - address _creator - ) public { - erc1056 = _erc1056; - erc1155 = _erc1155; - serial = _serial; - creator = _creator; - owner = _creator; - id = ERC1155Multiproxy(_erc1155).tokenCount(); - ERC1155Multiproxy(_erc1155).mint(id); - _addDelegate(_creator); - } - - modifier _owner() { - require(msg.sender == owner, "Only owner allowed"); - _; - } - - modifier isOwnerOrApproved() { - require( - msg.sender == owner || isApproved[msg.sender], - "ProxyIdentity: Only owner or approved agent allowed" - ); - _; - } - - modifier tokenPayable { - if (!__isTokenFallback) - revert("Method can be invoked only as part of ERC223 transfer"); - _; - } - - function sendTransaction( - bytes memory _data, - address to, - uint256 value - ) public payable _owner() { - require(_sendTransaction(_data, to, value), "Can't send transaction"); - } - - function sendSignedTransaction( - bytes memory data, - address to, - uint8 v, - bytes32 r, - bytes32 s, - uint256 value, - uint256 nonce - ) public payable { - bytes32 digest = keccak256(abi.encode(data, to, value, nonce)); - require(digests[digest] == false, "This transaction has already been sent"); - digests[digest] = true; - bytes32 hash = keccak256( - abi.encodePacked("\x19Ethereum Signed Message:\n32", digest) - ); - address signer = ecrecover(hash, v, r, s); - require( - signer == owner, - "Signature is not valid" - ); - require(_sendTransaction(data, to, value), "Can't send transaction"); - } - - function addDelegate(address delegate) public _owner() { - _addDelegate(delegate); - } - - function revokeDelegate(address delegate) public _owner() { - IERC1056(erc1056).revokeDelegate(address(this), "sigAuth", delegate); - } - - function changeOwner(address newOwner) public isOwnerOrApproved { - owner = newOwner; - } - - function addApprovedAgent(address agent) public isOwnerOrApproved { - isApproved[agent] = true; - ERC1155Multiproxy(erc1155).setApprovalForAll(agent, true); - } - - function removeApprovedAgent(address agent) public isOwnerOrApproved { - isApproved[agent] = false; - ERC1155Multiproxy(erc1155).setApprovalForAll(agent, false); - } - - function uri() public view returns (string memory) { - return ERC1155Multiproxy(erc1155).uri(id); - } - - function updateUri(string memory _uri) public { - ERC1155Multiproxy(erc1155).updateUri(id, _uri); - } - - function onERC1155Received( - address _operator, - address _from, - uint256 _id, - uint256 _value, - bytes calldata _data - ) external returns (bytes4) { - return ERC1155_ACCEPTED; - } - - function onERC1155BatchReceived( - address _operator, - address _from, - uint256[] calldata _ids, - uint256[] calldata _values, - bytes calldata _data - ) external returns (bytes4) { - return ERC1155_BATCH_ACCEPTED; - } - - function _sendTransaction( - bytes memory _data, - address to, - uint256 value - ) internal returns (bool success) { - bytes memory data = _data; - uint256 len = data.length; - // solium-disable-next-line security/no-inline-assembly - assembly { - success := call(gas, to, value, add(data, 0x20), len, 0, 0) - } - emit TransactionSent(_data, to, value); - } - - function _addDelegate(address delegate) internal { - IERC1056(erc1056).addDelegate( - address(this), - "sigAuth", - delegate, - defaultValidity - ); - } - - /** - * INTERFACE_SIGNATURE_ERC165 = bytes4(keccak256("supportsInterface(bytes4)")); - */ - bytes4 private constant INTERFACE_SIGNATURE_ERC165 = 0x01ffc9a7; - - /** - * bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))^bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)")) - */ - bytes4 private constant INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER = 0x4e2312e0; - - /** - * @notice Query if a contract implements an interface - * @param _interfaceID The interface identifier, as specified in ERC-165 - * @return `true` if the contract implements `_interfaceID` and - */ - function supportsInterface(bytes4 _interfaceID) external view returns (bool) { - if ( - _interfaceID == INTERFACE_SIGNATURE_ERC165 || - _interfaceID == INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER - ) { - return true; - } - return false; - } - - event CallbackOnTransfer(bytes data, bool success, address sender); - - function tokenFallback( - address _sender, - address _origin, - uint256 _value, - bytes memory _data - ) public returns (bool) { - if (!supportsToken(msg.sender)) return false; - __isTokenFallback = true; - // solium-disable-next-line security/no-low-level-calls - (bool success, ) = address(this).delegatecall(_data); - __isTokenFallback = false; - emit CallbackOnTransfer(_data, success, msg.sender); - return success; - } - - function getSig(bytes memory _data) private pure returns (bytes4 sig) { - uint256 l = _data.length < 4 ? _data.length : 4; - for (uint256 i = 0; i < l; i++) { - sig = bytes4( - uint32(uint32(sig) + uint8(_data[i]) * (2**(8 * (l - 1 - i)))) - ); - } - } - - function supportsToken(address token) public pure returns (bool) { - return true; - } - - function() external payable {} -} diff --git a/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol b/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol deleted file mode 100644 index ecaa5a9d..00000000 --- a/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol +++ /dev/null @@ -1,68 +0,0 @@ -pragma solidity ^0.5.0; - -import "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol"; - - -contract ERC1155MintBurn is ERC1155 { - function mint( - address _to, - uint256 _id, - uint256 _amount, - bytes memory _data - ) public { - balances[_to][_id] = balances[_to][_id].add(_amount); - emit TransferSingle(msg.sender, address(0x0), _to, _id, _amount); - _callonERC1155Received(address(0x0), _to, _id, _amount, gasleft(), _data); - } - - function batchMint( - address _to, - uint256[] memory _ids, - uint256[] memory _amounts, - bytes memory _data - ) public { - require( - _ids.length == _amounts.length, - "ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH" - ); - uint256 nMint = _ids.length; - for (uint256 i = 0; i < nMint; i++) { - balances[_to][_ids[i]] = balances[_to][_ids[i]].add(_amounts[i]); - } - emit TransferBatch(msg.sender, address(0x0), _to, _ids, _amounts); - _callonERC1155BatchReceived( - address(0x0), - _to, - _ids, - _amounts, - gasleft(), - _data - ); - } - - function burn( - address _from, - uint256 _id, - uint256 _amount - ) public { - balances[_from][_id] = balances[_from][_id].sub(_amount); - - emit TransferSingle(msg.sender, _from, address(0x0), _id, _amount); - } - - function batchBurn( - address _from, - uint256[] memory _ids, - uint256[] memory _amounts - ) public { - uint256 nBurn = _ids.length; - require( - nBurn == _amounts.length, - "ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH" - ); - for (uint256 i = 0; i < nBurn; i++) { - balances[_from][_ids[i]] = balances[_from][_ids[i]].sub(_amounts[i]); - } - emit TransferBatch(msg.sender, _from, address(0x0), _ids, _amounts); - } -} diff --git a/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol b/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol deleted file mode 100644 index 4a862e06..00000000 --- a/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol +++ /dev/null @@ -1,35 +0,0 @@ -pragma solidity ^0.5.0; - -import "multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol"; -import "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol"; -import "../proxyIdentity.sol"; - -/** -* Is there smth should happen in proxy on token burn? - */ -contract ERC1155Multiproxy is ERC1155MintBurn, ERC1155Metadata { - mapping(uint256 => string) uris; - mapping(uint256 => address) owners; - uint256 public tokenCount; - address[] _proxies; - - function uri(uint256 id) public view returns(string memory) { - return uris[id]; - } - - function updateUri(uint256 id, string memory _uri) public { - require(owners[id] == msg.sender, "Only owner can update uri"); - uris[id] = _uri; - } - - function mint(uint256 id) public { - _mint(msg.sender, id, 1, "0x0"); - owners[id] = msg.sender; - _proxies.push(msg.sender); - tokenCount++; - } - - function proxies() public view returns (address[] memory) { - return _proxies; - } -} diff --git a/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol b/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol deleted file mode 100644 index bc3c2bbf..00000000 --- a/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol +++ /dev/null @@ -1,62 +0,0 @@ -pragma solidity ^0.5.0; - -import "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol"; -import "../interfaces/IERC223.sol"; -import "../interfaces/IERC223Receiver.sol"; - - -contract ERC223Mintable is IERC223, ERC20Mintable { - function transfer( - address _to, - uint256 _value, - bytes memory _data - ) public returns (bool) { - super.transfer(_to, _value); - if (isContract(_to)) { - return contractFallback(msg.sender, _to, _value, _data); - } - return true; - } - - function transferFrom( - address _from, - address _to, - uint256 _value, - bytes memory _data - ) public returns (bool) { - super.transferFrom(_from, _to, _value); - if (isContract(_to)) return contractFallback(_from, _to, _value, _data); - return true; - } - - function transfer(address _to, uint256 _value) public returns (bool) { - return transfer(_to, _value, new bytes(0)); - } - - function transferFrom( - address _from, - address _to, - uint256 _value - ) public returns (bool) { - return transferFrom(_from, _to, _value, new bytes(0)); - } - - function contractFallback( - address _origin, - address _to, - uint256 _value, - bytes memory _data - ) private returns (bool success) { - IERC223Receiver reciever = IERC223Receiver(_to); - return reciever.tokenFallback(msg.sender, _origin, _value, _data); - } - - function isContract(address _addr) private view returns (bool is_contract) { - uint256 length; - // solium-disable-next-line security/no-inline-assembly - assembly { - length := extcodesize(_addr) - } - return length > 0; - } -} diff --git a/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol b/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol deleted file mode 100644 index 743c9f39..00000000 --- a/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol +++ /dev/null @@ -1,6 +0,0 @@ -pragma solidity ^0.5.0; - -import "../interfaces/IERC223Receiver.sol"; - - -contract ERC223Receiver is IERC223Receiver {} diff --git a/packages/proxyIdentity/package.json b/packages/proxyIdentity/package.json index e23fbeeb..7af49fbe 100644 --- a/packages/proxyIdentity/package.json +++ b/packages/proxyIdentity/package.json @@ -8,8 +8,9 @@ "main": "dist/src/index.js", "scripts": { "compile": "../../node_modules/.bin/tsc", - "test": "../../node_modules/.bin/mocha -r ts-node/register test/**/*.test.ts", - "test-rpc": "run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"npm run test \" " + "test-rpc": "run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"npm run test-ganache\" ", + "test-ganache": "mocha -r ts-node/register test/*test.ts", + "compile:contracts": "../../node_modules/.bin/truffle compile" }, "author": { "name": "EnergyWeb", @@ -17,7 +18,10 @@ }, "license": "ISC", "dependencies": { - "ethers": "4.0.45" + "ethers": "4.0.45", + "@ew-did-registry/did-resolver-interface": "0.3.0", + "@ew-did-registry/did-ethr-resolver": "0.3.0", + "@ew-did-registry/keys": "0.3.0" }, "devDependencies": { "@openzeppelin/contracts": "^2.5.0", diff --git a/packages/proxyIdentity/src/ProxyManager.ts b/packages/proxyIdentity/src/ProxyManager.ts deleted file mode 100644 index dacdacfa..00000000 --- a/packages/proxyIdentity/src/ProxyManager.ts +++ /dev/null @@ -1,104 +0,0 @@ -/* eslint-disable no-restricted-syntax */ -/* eslint-disable @typescript-eslint/explicit-function-return-type */ -/* eslint-disable no-useless-constructor */ -import { - Signer, Contract, ContractFactory, providers, -} from 'ethers'; -import { abi as proxyAbi, bytecode as proxyBytecode } from '../build/contracts/ProxyIdentity.json'; -import { abi as erc1155Abi } from '../build/contracts/ERC1155Multiproxy.json'; - -export class ProxyManager { - private proxyFactory: ContractFactory; - - private provider: providers.Provider; - - constructor(private erc1056: string, private erc1155: string, private owner: Required) { - this.proxyFactory = new ContractFactory(proxyAbi, proxyBytecode, this.owner); - this.provider = owner.provider; - } - - async createProxy(serial: string): Promise { - const address = await this.proxyFactory.signer.getAddress(); - return this.proxyFactory.deploy( - this.erc1056, this.erc1155, serial, await this.owner.getAddress(), - { nonce: await this.provider.getTransactionCount(address) }, - ); - } - - async createProxyBatch(serials: string[]): Promise { - const proxies = []; - for await (const serial of serials) { - proxies.push(await this.createProxy(serial)); - } - return proxies; - } - - async changeOwner(serial: string, newOwner: string) { - const proxies = await this._allProxies(); - for await (const proxy of proxies) { - if (await proxy.serial() === serial) { - await proxy.changeOwner(newOwner); - return; - } - } - } - - async changeOwnerBatch(serials: string[], newOwner: string) { - for await (const serial of serials) { - await this.changeOwner(serial, newOwner); - } - } - - connect(newowner: Required): ProxyManager { - return new ProxyManager(this.erc1056, this.erc1155, newowner); - } - - async allProxies(): Promise { - return this._allProxies(); - } - - async proxiesOwnedBy(address: string): Promise { - const proxies = []; - for await (const proxy of await this._allProxies()) { - if (await proxy.owner() === address) { - proxies.push(proxy); - } - } - return proxies; - } - - async proxiesCreatedBy(address: string): Promise { - const proxies = []; - for await (const proxy of await this._allProxies()) { - if (await proxy.creator() === address) { - proxies.push(proxy); - } - } - return proxies; - } - - async proxyById(serial: string): Promise { - for await (const proxy of await this._allProxies()) { - if (await proxy.serial() === serial) { - return proxy; - } - } - return null; - } - - static async mapProxiesBy( - proxies: Contract[], - fn: (proxy: Contract) => Promise<[]>, - ): Promise<[][]> { - const mapped = []; - for await (const proxy of proxies) { - mapped.push(await fn(proxy)); - } - return mapped; - } - - private async _allProxies(): Promise { - const addresses: string[] = await new Contract(this.erc1155, erc1155Abi, this.owner).proxies(); - return addresses.map((a) => new Contract(a, proxyAbi, this.owner)); - } -} diff --git a/packages/proxyIdentity/src/index.ts b/packages/proxyIdentity/src/index.ts index d946f786..a6ea09b7 100644 --- a/packages/proxyIdentity/src/index.ts +++ b/packages/proxyIdentity/src/index.ts @@ -1,8 +1,5 @@ -import * as proxyBuild from '../build/contracts/ProxyIdentity.json'; -import * as proxyFactoryBuild from '../build/contracts/ProxyFactory.json'; -import * as multiproxyBuild from '../build/contracts/ERC1155Multiproxy.json'; +import * as proxyBuild from '../build/contracts/OfferableIdentity.json'; +import * as erc1056Build from '../constants/ERC1056.json'; -export * as erc1056Build from '../constants/EthereumDIDRegistry'; -export { proxyBuild, proxyFactoryBuild, multiproxyBuild }; -export * from './proxyFacade'; -export * from './ProxyManager'; +export { proxyBuild, erc1056Build }; +export { OfferableIdenitytOperator as ProxyOperator } from './offerableIdentityOperator'; diff --git a/packages/proxyIdentity/src/offerableIdentityOperator.ts b/packages/proxyIdentity/src/offerableIdentityOperator.ts new file mode 100644 index 00000000..769bb543 --- /dev/null +++ b/packages/proxyIdentity/src/offerableIdentityOperator.ts @@ -0,0 +1,122 @@ +import { + Contract, Event, utils, providers, +} from 'ethers'; +import { + DIDAttribute, + IUpdateData, + RegistrySettings, + IdentityOwner, + UpdateAttributeData, + UpdateDelegateData, +} from '@ew-did-registry/did-resolver-interface'; +import { Operator } from '@ew-did-registry/did-ethr-resolver'; +import { abi as identityAbi } from '../build/contracts/OfferableIdentity.json'; +import { abi as erc1056Abi } from '../constants/ERC1056.json'; + +const { BigNumber, Interface, formatBytes32String } = utils; +const { PublicKey, ServicePoint } = DIDAttribute; + +export class OfferableIdenitytOperator extends Operator { + private identity: Contract; + + /** + * + * @param owner - Owner of the idenity + * @param settings - Settings to connect to Ethr registry + * @param identityAddr {string} - address of controlled offerable identity + */ + constructor(owner: IdentityOwner, settings: RegistrySettings, identityAddr: string) { + super(owner, settings); + this.identity = new Contract(identityAddr, identityAbi, owner); + } + + async revokeDelegate(): Promise { + throw new Error('Not supported'); + } + + /* eslint-disable @typescript-eslint/no-unused-vars */ + async changeOwner( + identityDID: string, + newOwnerDid: string, + ): Promise { + throw new Error('Not supported'); + } + /* eslint-enable @typescript-eslint/no-unused-vars */ + + /** + * @todo + */ + async deactivate(): Promise { + throw new Error('Not supported yet'); + } + + protected async getAddress(): Promise { + return this.identity.address; + } + + async offer(offerTo: string): Promise { + await this.identity.offer( + new Interface(identityAbi).functions.offer.encode([offerTo]), + this.settings.address, + 0, + ); + return true; + } + + async revokeAttribute( + identityDID: string, + attributeType: DIDAttribute, + updateData: UpdateAttributeData, + ): Promise { + const [, , identityAddress] = identityDID.split(':'); + const attribute = this._composeAttributeName(attributeType, updateData); + const bytesType = formatBytes32String(attribute); + const bytesValue = this._hexify(updateData.value); + const params = [identityAddress, bytesType, bytesValue]; + + try { + const data = new Interface(erc1056Abi).functions.revokeAttribute.encode(params); + await this.identity + .sendTransaction(data, this.settings.address, 0) + .then((tx: providers.TransactionResponse) => tx.wait()); + } catch (error) { + throw new Error(error); + } + return true; + } + + protected async _sendTransaction( + method: (...args: (string | number | Record)[]) => Promise, + did: string, + didAttribute: DIDAttribute, + updateData: IUpdateData, + validity?: number, + ): Promise { + const identity = this._parseDid(did); + const attributeName = this._composeAttributeName(didAttribute, updateData); + const bytesOfAttribute = formatBytes32String(attributeName); + const bytesOfValue = this._hexify( + didAttribute === PublicKey || didAttribute === ServicePoint + ? (updateData as UpdateAttributeData).value + : (updateData as UpdateDelegateData).delegate, + ); + const validityValue = validity !== undefined ? validity.toString() : ''; + const params = [identity, bytesOfAttribute, bytesOfValue, validityValue]; + let methodName: string; + if (didAttribute === DIDAttribute.PublicKey || didAttribute === DIDAttribute.ServicePoint) { + methodName = 'setAttribute'; + } else { + methodName = 'addDelegate'; + } + const data = new Interface(erc1056Abi).functions[methodName].encode(params); + let event: Event; + try { + const tx = await this.identity.sendTransaction(data, this.settings.address, 0); + const receipt = await tx.wait(); + event = receipt.events.find((e: Event) => e.event === 'TransactionSent'); + return new BigNumber(event.blockNumber as number); + } catch (e) { + throw new Error(e); + } + } +} diff --git a/packages/proxyIdentity/src/proxyFacade.ts b/packages/proxyIdentity/src/proxyFacade.ts deleted file mode 100644 index aaac2c45..00000000 --- a/packages/proxyIdentity/src/proxyFacade.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Contract } from 'ethers'; -import { abi as proxyAbi } from '../build/contracts/ProxyIdentity.json'; - -/** - * Creates proxy identity as smart contract, - * sets proxy factory as creator and invoker as owner of created proxy. - * Owner is also recovery agent and delegate - * - * @param proxyFactory {Contract} - * - * @returns {string} address of created proxy identity smart contract - */ -export const createProxy = async (proxyFactory: Contract, serial: string): Promise => { - const tx = await proxyFactory.create(serial); - await tx.wait(); - return new Promise(((resolve) => { - proxyFactory.on('ProxyCreated', (address) => { - proxyFactory.removeAllListeners('ProxyCreated'); - resolve(new Contract(address, proxyAbi, proxyFactory.signer)); - }); - })); -}; diff --git a/packages/proxyIdentity/test/offerable.identity-operator.testSuite.ts b/packages/proxyIdentity/test/offerable.identity-operator.testSuite.ts new file mode 100644 index 00000000..d94a1961 --- /dev/null +++ b/packages/proxyIdentity/test/offerable.identity-operator.testSuite.ts @@ -0,0 +1,122 @@ +import { expect } from 'chai'; +import { Keys } from '@ew-did-registry/keys'; +import { + Contract, ContractFactory, providers, utils, +} from 'ethers'; +import { + Algorithms, + DIDAttribute, + Encoding, + PubKeyType, + IdentityOwner, + IOperator, +} from '@ew-did-registry/did-resolver-interface'; +import { + signerFromKeys, walletPubKey, withProvider, withKey, +} from '@ew-did-registry/did-ethr-resolver'; +import { Methods } from '@ew-did-registry/did-resolver-interface/node_modules/@ew-did-registry/did'; +import { Suite } from 'mocha'; +import { OfferableIdenitytOperator } from '../src/offerableIdentityOperator'; + +const { parseEther } = utils; + +const { PublicKey } = DIDAttribute; +const { Secp256k1, ED25519 } = Algorithms; +const { VerificationKey2018 } = PubKeyType; +const { HEX } = Encoding; + +export function offerableIdentityOperatorTestSuite(this: Suite): void { + this.timeout(0); + let operator: IOperator; + const validity = 10 * 60 * 1000; + let did: string; + let identityFactory: ContractFactory; + let identity: Contract; + let manager: Contract; + let owner: IdentityOwner; + let ownerAddr: string; + let provider: providers.JsonRpcProvider; + let erc1056: Contract; + + before(async function () { + ({ + identityFactory, manager, provider, erc1056, + } = this); + + owner = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); + ownerAddr = await owner.getAddress(); + + identity = await identityFactory.deploy(ownerAddr, manager.address); + did = `did:${Methods.Erc1056}:${identity.address}`; + + await provider.getSigner(0).sendTransaction({ + to: ownerAddr, value: parseEther('1.0'), + }); + operator = new OfferableIdenitytOperator( + owner, + { address: erc1056.address }, + identity.address, + ); + }); + + it('public key can be added', async () => { + const attribute = PublicKey; + const updateData = { + algo: Secp256k1, + type: VerificationKey2018, + encoding: HEX, + value: { publicKey: `0x${new Keys().publicKey}`, tag: 'key-2' }, + }; + await operator.update(did, attribute, updateData, validity); + const document = await operator.read(did); + expect(document.id).equal(did); + const publicKey = document.publicKey.find( + (pk) => pk.publicKeyHex === updateData.value.publicKey, + ); + expect(publicKey).is.not.undefined; + }); + + it('service endpoint can be added', async () => { + const attribute = DIDAttribute.ServicePoint; + const endpoint = 'https://test.algo.com'; + const serviceId = 'UserClaimURL3'; + const updateData = { + type: attribute, + value: { + id: `${did}#service-${serviceId}`, + type: 'ClaimStore', + serviceEndpoint: endpoint, + }, + }; + await operator.update(did, attribute, updateData, validity); + const document = await operator.read(did); + expect(document.id).equal(did); + expect(document.service.find( + (sv) => sv.serviceEndpoint === endpoint, + )).not.undefined; + }); + + it('public key can be revoked', async () => { + const attribute = PublicKey; + const updateData = { + algo: ED25519, + type: VerificationKey2018, + encoding: HEX, + value: { publicKey: `0x${new Keys().publicKey}`, tag: 'key-6' }, + }; + await operator.update(did, attribute, updateData, validity); + let document = await operator.read(did); + expect(document.id).equal(did); + let publicKey = document.publicKey.find( + (pk) => pk.publicKeyHex === updateData.value.publicKey, + ); + expect(publicKey).to.be.not.null; + const revoked = await operator.revokeAttribute(did, attribute, updateData); + expect(revoked).to.be.true; + document = await operator.read(did); + publicKey = document.publicKey.find( + (pk) => pk.publicKeyHex === updateData.value.publicKey, + ); + expect(publicKey).to.be.undefined; + }); +} diff --git a/packages/proxyIdentity/test/offerable.identity.testSuite.ts b/packages/proxyIdentity/test/offerable.identity.testSuite.ts new file mode 100644 index 00000000..af2922a9 --- /dev/null +++ b/packages/proxyIdentity/test/offerable.identity.testSuite.ts @@ -0,0 +1,123 @@ +/* eslint-disable prefer-arrow-callback */ +import { + Contract, ContractFactory, providers, ethers, +} from 'ethers'; +import chai, { expect } from 'chai'; +import chaiAsPromised from 'chai-as-promised'; + +chai.use(chaiAsPromised); +chai.should(); + +const emptyAddress = `0x${'0'.repeat(40)}`; + +export function identityTestSuite(): void { + let identity: Contract; + let identityFactory: ContractFactory; + let manager: Contract; + let owner: ethers.Signer; + let ownerAddr: string; + let provider: providers.JsonRpcProvider; + + before(async function () { + ({ + identityFactory, ownerAddr, manager, owner, provider, + } = this); + ownerAddr = await owner.getAddress(); + }); + + describe('[Identity Creation]', async () => { + before(async () => { + identity = await identityFactory.deploy(ownerAddr, manager.address); + }); + + it('Identity should notify manager when created', async () => { + const event = new Promise((resolve) => { + manager.on('IdentityCreated', (created) => { + manager.removeAllListeners('IdentityCreated'); + resolve(created); + }); + }); + + expect(await event).equal(identity.address); + }); + + it('identity creator should be identity owner', async () => { + expect(await identity.owner()).equal(ownerAddr); + }); + }); + + describe('[Identity Transfer]', async () => { + let receiver: providers.JsonRpcSigner; + let receiverAddr: string; + + before(async function () { + receiver = provider.getSigner(2); + receiverAddr = await receiver.getAddress(); + }); + + beforeEach(async () => { + identity = await identityFactory.deploy(ownerAddr, manager.address); + + await identity.connect(owner).functions.offer(receiverAddr); + }); + + it('Manager should be notified when identity offered', async () => { + const event = await new Promise((resolve) => { + manager.on('IdentityOffered', (offered, offeredTo) => { + manager.removeAllListeners('IdentityOffered'); + resolve({ offered, offeredTo }); + }); + }); + + expect(event).to.deep.equal({ offered: identity.address, offeredTo: receiverAddr }); + }); + + it('Accepting offer should change identity owner', async () => { + const event = new Promise((resolve) => { + manager.on('IdentityTransferred', (offered, offeredTo) => { + manager.removeAllListeners('IdentityTransferred'); + resolve({ offered, offeredTo }); + }); + }); + + await identity.connect(receiver).acceptOffer(); + + expect(await event).to.deep.equal({ offered: identity.address, offeredTo: receiverAddr }); + expect(await identity.owner()).equal(receiverAddr); + }); + + it('Rejecting offer should remain identity owner', async () => { + const event = new Promise((resolve) => { + manager.on('IdentityOfferRejected', (offered, offeredTo) => { + manager.removeAllListeners('IdentityOfferRejected'); + resolve({ offered, offeredTo }); + }); + }); + + await identity.connect(receiver).rejectOffer(); + + expect(await event).to.deep.equal({ offered: identity.address, offeredTo: receiverAddr }); + expect(await identity.owner()).equal(ownerAddr); + }); + + it('Can\'t accept identity offered to other', async () => { + const nonReceiver = provider.getSigner(3); + + return (identity.connect(nonReceiver).acceptOffer()).should.be.rejected; + }); + + it('Can\'t reject identity offered to other', async () => { + const nonReceiver = provider.getSigner(3); + + return (identity.connect(nonReceiver).rejectOffer()).should.be.rejected; + }); + + it('Offer can be canceled', async () => { + expect(await identity.offeredTo()).equal(receiverAddr); + + await identity.connect(owner).cancelOffer(); + + expect(await identity.offeredTo()).equal(emptyAddress); + }); + }); +} diff --git a/packages/proxyIdentity/test/proxy.manager.test.ts b/packages/proxyIdentity/test/proxy.manager.test.ts deleted file mode 100644 index 8c5d123f..00000000 --- a/packages/proxyIdentity/test/proxy.manager.test.ts +++ /dev/null @@ -1,136 +0,0 @@ -import chai, { expect } from 'chai'; -import assetArray from 'chai-arrays'; -import chaiAsPromised from 'chai-as-promised'; -import { ContractFactory, Contract, providers } from 'ethers'; -import { ethrReg } from '../constants/EthereumDIDRegistry'; -import { abi as abi1155, bytecode as bytecode1155 } from '../build/contracts/ERC1155Multiproxy.json'; -import { ProxyManager } from '../src/ProxyManager'; - -const { JsonRpcProvider } = providers; - -const { abi: abi1056, bytecode: bytecode1056 } = ethrReg; -const { mapProxiesBy } = ProxyManager; - -chai.use(chaiAsPromised); -chai.use(assetArray); -chai.should(); - -describe('[PROXY IDENTITY PACKAGE / PROXY MANAGER]', function proxyManagerTests() { - this.timeout(0); - const provider = new JsonRpcProvider('http://localhost:8544'); - const oem = provider.getSigner(0); - const installer = provider.getSigner(1); - let erc1155: Contract; - let device1: Contract; - let device2: Contract; - let pm: ProxyManager; - - const id1 = '1'; - const id2 = '2'; - const id3 = '3'; - const id4 = '4'; - - beforeEach(async () => { - const erc1056Factory = new ContractFactory(abi1056, bytecode1056, oem); - const erc1056 = await (await erc1056Factory.deploy()).deployed(); - const erc1155Factory = new ContractFactory(abi1155, bytecode1155, oem); - erc1155 = await (await erc1155Factory.deploy()).deployed(); - pm = new ProxyManager(erc1056.address, erc1155.address, oem); - }); - - it('created proxies should be owned by oem', async () => { - device1 = await pm.createProxy('1'); - expect(await device1.owner()).equal(await oem.getAddress()); - device2 = await pm.createProxy('2'); - expect(await device2.owner()).equal(await oem.getAddress()); - }); - - it('createProxyBatch() should set sender as owner of created proxies', async () => { - const serials = ['1', '2']; - const proxies = await pm.createProxyBatch(serials); - - const owners = await Promise.all(proxies.map((p) => p.owner())); - - const oemAddr = await oem.getAddress(); - expect(owners.every((o) => o === oemAddr)).true; - }); - - it('createProxyBatch should create 10 proxies', async () => { - const serials = new Array(10).fill(0).map((v, i) => i.toString()); - const proxies = await pm.createProxyBatch(serials); - - const createdSerials = await mapProxiesBy( - proxies, - (p) => p.serial(), - ); - expect(createdSerials).to.be.equalTo(serials); - }); - - it('should return list of all proxies', async () => { - await pm.connect(oem).createProxyBatch(['1', '2']); - await pm.connect(installer).createProxyBatch(['3', '4']); - - expect( - await mapProxiesBy(await pm.allProxies(), async (p) => p.serial()), - ) - .to.be.equalTo(['1', '2', '3', '4']); - }); - - it('should list created tokens', async () => { - await pm.connect(oem).createProxyBatch([id1, id2]); - await pm.connect(installer).createProxyBatch([id3, id4]); - - expect(await mapProxiesBy( - await pm.proxiesOwnedBy(await oem.getAddress()), - (p) => p.serial(), - )) - .to.be.equalTo([id1, id2]); - expect(await mapProxiesBy( - await pm.proxiesOwnedBy(await installer.getAddress()), - (p) => p.serial(), - )) - .to.be.equalTo([id3, id4]); - }); - - it('owner can be changed', async () => { - await pm.connect(oem).createProxyBatch([id1, id2]); - await pm.connect(installer).createProxyBatch([id3, id4]); - - await pm.connect(oem).changeOwner(id1, await installer.getAddress()); - - expect(await mapProxiesBy( - await pm.proxiesOwnedBy(await installer.getAddress()), - (p) => p.serial(), - )) - .to.be.equalTo([id1, id3, id4]); - expect(await (await pm.proxyById(id2) as Contract).owner()).equal(await oem.getAddress()); - }); - - it('owner can be changed batched', async () => { - await pm.connect(oem).createProxyBatch([id1, id2]); - await pm.connect(installer).createProxyBatch([id3, id4]); - - await pm.connect(oem).changeOwnerBatch([id1, id2], await installer.getAddress()); - expect(await mapProxiesBy( - await pm.proxiesOwnedBy(await installer.getAddress()), - (p) => p.serial(), - )) - .to.be.equalTo([id1, id2, id3, id4]); - expect(await mapProxiesBy( - await pm.proxiesCreatedBy(await oem.getAddress()), - (p) => p.serial(), - )) - .to.be.equalTo([id1, id2]); - }); - - it('should update metadata uri', async () => { - const device = await pm.createProxy('1'); - const exampleUri = 'https://example.com'; - - expect(await device.uri()).equal(''); - - await device.updateUri(exampleUri); - - expect(await device.uri()).equal(exampleUri); - }); -}); diff --git a/packages/proxyIdentity/test/proxy.test.ts b/packages/proxyIdentity/test/proxy.test.ts index 87bf9a50..3c5767a4 100644 --- a/packages/proxyIdentity/test/proxy.test.ts +++ b/packages/proxyIdentity/test/proxy.test.ts @@ -1,310 +1,33 @@ -import { - Contract, providers, ContractFactory, utils, -} from 'ethers'; -import chai, { expect } from 'chai'; -import chaiAsPromised from 'chai-as-promised'; -import { Keys } from '../../keys'; -import { abi as abi1056, bytecode as bytecode1056 } from '../build/contracts/ERC1056.json'; -import { abi as proxyAbi, bytecode as proxyBytecode } from '../build/contracts/ProxyIdentity.json'; -import { abi as tokenERC1155Abi, bytecode as tokenERC1155Bytecode } from '../build/contracts/ERC1155MintBurn.json'; -import { abi as abi1155, bytecode as bytecode1155 } from '../build/contracts/ERC1155Multiproxy.json'; -import { abi as tokenERC223Abi, bytecode as tokenERC223Bytecode } from '../build/contracts/ERC223Mintable.json'; - -const { - BigNumber, bigNumberify, Interface, arrayify, keccak256, defaultAbiCoder, - splitSignature, formatBytes32String, -} = utils; - -chai.use(chaiAsPromised); -chai.should(); +import { providers, ContractFactory } from 'ethers'; +import { abi as IMAbi, bytecode as IMBytecode } from '../build/contracts/IdentityManager.json'; +import { abi as proxyAbi, bytecode as proxyBytecode } from '../build/contracts/OfferableIdentity.json'; +import { abi as erc1056Abi, bytecode as erc1056Bytecode } from '../constants/ERC1056.json'; +import { identityTestSuite } from './offerable.identity.testSuite'; +import { offerableIdentityOperatorTestSuite } from './offerable.identity-operator.testSuite'; const { JsonRpcProvider } = providers; -const encoder = utils.defaultAbiCoder; -describe('[PROXY IDENTITY PACKAGE/PROXY CONTRACT]', function () { +describe('[PROXY IDENTITY PACKAGE]', function () { this.timeout(0); - let proxy: Contract; - let erc1056: Contract; - let erc1155: Contract; const provider = new JsonRpcProvider('http://localhost:8544'); - const creator: providers.JsonRpcSigner = provider.getSigner(0); - let creatorAddr: string; - const proxyFactory = new ContractFactory(proxyAbi, proxyBytecode, creator); - const erc1056Factory = new ContractFactory(abi1056, bytecode1056, creator); - const erc1155Factory = new ContractFactory(abi1155, bytecode1155, creator); - const tokenERC1155Factory = new ContractFactory(tokenERC1155Abi, tokenERC1155Bytecode, creator); - let identity: string; - const serial = '123'; + const deployer = provider.getSigner(0); - beforeEach(async () => { - creatorAddr = await creator.getAddress(); - erc1056 = await (await erc1056Factory.deploy()).deployed(); - erc1155 = await (await erc1155Factory.deploy()).deployed(); - proxy = await proxyFactory.deploy(erc1056.address, erc1155.address, serial, creatorAddr); - identity = proxy.address; - }); - - it('proxy creator should be identity owner and delegate', (done) => { - erc1056.on('DIDDelegateChanged', (id, type, delegate) => { - erc1056.removeAllListeners('DIDDelegateChanged'); - expect(delegate).equal(creatorAddr); - done(); - }); - erc1056.identityOwner(identity) - .then((owner: string) => { - expect(owner === creatorAddr); - }); - }); + before(async function () { + const owner = provider.getSigner(1); - it('sendTransaction with changeOwner() calldata should emit DIDOwnerChanged on ERC1056', (done) => { - erc1056.on('DIDOwnerChanged', () => { - erc1056.removeAllListeners('DIDOwnerChanged'); - done(); - }); - const newOwner = new Keys().getAddress(); - erc1056.identityOwner(identity) - .then((owner: string) => { - const data = new Interface(abi1056).functions.changeOwner.encode([owner, newOwner]); - return proxy.sendTransaction(data, erc1056.address, 0); - }) - .then((tx: any) => tx.wait()) - .then(() => erc1056.identityOwner(identity)) - .then((owner: string) => { - expect(owner).equal(newOwner); - }); - }); + const identityManagerFactory = new ContractFactory(IMAbi, IMBytecode, deployer); + const manager = await identityManagerFactory.deploy(); - it('sendTransaction with setAttribute() calldata from identity owner should emit DIDAttributeChanged on ERC1056', (done) => { - erc1056.on('DIDAttributeChanged', () => { - erc1056.removeAllListeners('DIDAttributeChanged'); - done(); - }); - const attribute = utils.formatBytes32String('name'); - const value = encoder.encode(['bytes'], [`0x${Buffer.from('John').toString('hex')}`]); - const data = new Interface(abi1056).functions.setAttribute.encode([proxy.address, attribute, value, '1000']); - proxy.sendTransaction(data, erc1056.address, 0).then((tx: any) => tx.wait()); - }); + const erc1056Factory = new ContractFactory(erc1056Abi, erc1056Bytecode, deployer); + const erc1056 = await erc1056Factory.deploy(); - it('sendTransaction with setAttribute() calldata from non-owner should revert', () => { - const attribute = utils.formatBytes32String('name'); - const value = encoder.encode(['bytes'], [`0x${Buffer.from('John').toString('hex')}`]); - const data = new Interface(abi1056).functions.setAttribute.encode([proxy.address, attribute, value, '1000']); - const nonOwned = proxy.connect(provider.getSigner(1)); - return nonOwned.sendTransaction(data, erc1056.address, 0).should.be.rejectedWith('Only owner allowed'); - }); + const identityFactory = new ContractFactory(proxyAbi, proxyBytecode, deployer); - it('sendSignedTransaction with signed by the owner setAttribute() calldata send from non-owner should emit DIDAttributeChanged on ERC1056', (done) => { - erc1056.on('DIDAttributeChanged', () => { - erc1056.removeAllListeners('DIDAttributeChanged'); - done(); + Object.assign(this, { + manager, provider, identityFactory, owner, erc1056, }); - const attribute = utils.formatBytes32String('name'); - const value = encoder.encode(['bytes'], [`0x${Buffer.from('John').toString('hex')}`]); - const data = new Interface(abi1056).functions.setAttribute.encode([proxy.address, attribute, value, '1000']); - const nonOwner = provider.getSigner(2); - nonOwner.getTransactionCount() - .then(async (nonce) => { - const digest = keccak256(defaultAbiCoder.encode( - ['bytes', 'address', 'uint256', 'uint256'], - [data, erc1056.address, 0, nonce + 1], - )); - const flatSignature = await creator.signMessage(arrayify(digest)); - const expSignature: utils.Signature = splitSignature(flatSignature); - const { r, s, v } = expSignature; - const tx = await proxy.connect(nonOwner).sendSignedTransaction( - data, erc1056.address, v, r, s, 0, nonce + 1, - ); - await tx.wait(); - }); - }); - - it('sendSignedTransaction with signed by the non-owner setAttribute() calldata should revert', () => { - const attribute = formatBytes32String('name'); - const value = encoder.encode(['bytes'], [`0x${Buffer.from('John').toString('hex')}`]); - const data = new Interface(abi1056).functions.setAttribute.encode([identity, attribute, value, '1000']); - const digest = keccak256(data); - const nonOwner = provider.getSigner(1); - return nonOwner.signMessage(arrayify(digest)) - .then(async (flatSignature) => { - const expSignature: utils.Signature = splitSignature(flatSignature); - const { r, s, v } = expSignature; - return proxy.sendSignedTransaction( - data, erc1056.address, v, r, s, 0, await creator.getTransactionCount(), - ); - }) - .should.be.rejectedWith('VM Exception while processing transaction: revert Signature is not valid'); - }); - - it('sendSignedTransaction twice should revert', async () => { - const attribute = utils.formatBytes32String('name'); - const value = encoder.encode(['bytes'], [`0x${Buffer.from('John').toString('hex')}`]); - const data = new Interface(abi1056).functions.setAttribute.encode([identity, attribute, value, '1000']); - const nonOwner = provider.getSigner(2); - const nonce = await nonOwner.getTransactionCount(); - const digest = keccak256( - encoder.encode( - ['bytes', 'address', 'uint256', 'uint256'], - [data, erc1056.address, 0, nonce], - ), - ); - const flatSignature = await creator.signMessage(arrayify(digest)); - const expSignature: utils.Signature = splitSignature(flatSignature); - const { r, s, v } = expSignature; - const asNonOwner: Contract = proxy.connect(nonOwner); - const tx = await asNonOwner.sendSignedTransaction( - data, erc1056.address, v, r, s, 0, nonce, - ); - await tx.wait(); - return asNonOwner.sendSignedTransaction( - data, erc1056.address, v, r, s, 0, nonce, - ) - .should.be.rejectedWith('This transaction has already been sent'); }); - it('along with transaction a value can be send', async () => { - const payee = await provider.getSigner(4).getAddress(); - const balance0 = new BigNumber(await provider.getBalance(payee)); - const pay = '10000000000000000000'; - await (await proxy.sendTransaction('0x0', payee, pay, { value: (new BigNumber(pay)).toHexString() })).wait(); - const balance1 = (await provider.getBalance(payee)).toString(); - expect(balance1.toString()).equal(balance0.add(pay).toString()); - }); - - it('along with signed transaction value can be send from proxy', async () => { - const payee = await provider.getSigner(4).getAddress(); - const pay = new BigNumber('1000000000000000000'); - const initialBalance = await provider.getBalance(payee); - const data = '0x0'; - const nonOwner = provider.getSigner(2); - const nonce = await nonOwner.getTransactionCount(); - const digest = keccak256( - utils.defaultAbiCoder.encode( - ['bytes', 'address', 'uint256', 'uint256'], - [data, payee, pay, nonce], - ), - ); - const flatSignature = await creator.signMessage(arrayify(digest)); - const expSignature: utils.Signature = splitSignature(flatSignature); - const { r, s, v } = expSignature; - const asNonOwner: Contract = proxy.connect(nonOwner); - const tx = await asNonOwner.sendSignedTransaction( - data, payee, v, r, s, pay, nonce, { value: pay }, - ); - await tx.wait(); - const finalBalance = await provider.getBalance(payee); - expect(initialBalance.add(pay).eq(finalBalance)).true; - }); - - it('pre-existing balance can be sent', async () => { - const dest = await provider.getSigner(2).getAddress(); - const pay = '10000000000000000000'; - const balance0: utils.BigNumber = new BigNumber( - await provider.getBalance(dest), - ); - await provider.getSigner(3).sendTransaction({ - to: proxy.address, - value: bigNumberify(pay), - }); - await proxy.sendTransaction('0x0', dest, pay).then((tx: any) => tx.wait()); - const balance1 = await provider.getBalance(dest); - expect(balance1.toString()).equal(balance0.add(pay).toString()); - expect(balance1.eq(balance0)); - }); - - it('ERC1155 token should be transfered to the proxy contract and returned by it', async () => { - const amount = 100; - let token = await (await tokenERC1155Factory.deploy()).deployed(); - const minter = provider.getSigner(3); - token = token.connect(minter); - const minterAddr = await minter.getAddress(); - await token.mint(minterAddr, 1, 1000, '0x0'); - await token.safeTransferFrom( - minterAddr, - identity, - 1, - amount, - '0x0', - ); - expect((await token.balanceOf(identity, 1)).toNumber()).equal(amount); - expect((await token.balanceOf(minterAddr, 1)).toNumber()).equal(1000 - amount); - const data = new Interface(tokenERC1155Abi).functions.safeTransferFrom.encode([identity, minterAddr, 1, amount, '0x0']); - await proxy.sendTransaction(data, token.address, 0, { gasLimit: 100000 }) - .then((tx: any) => tx.wait()); - expect((await token.balanceOf(identity, 1)).toNumber()).equal(0); - expect((await token.balanceOf(minterAddr, 1)).toNumber()).equal(1000); - }); - - it('ERC1155 tokens should be transfered batched to proxy owner', async () => { - const amount1 = 100; - const amount2 = 200; - let token = await (await tokenERC1155Factory.deploy()).deployed(); - const minter = provider.getSigner(3); - token = token.connect(minter); - const minterAddr = await minter.getAddress(); - await token.batchMint(minterAddr, [1, 2], [1000, 2000], '0x0'); - await token.safeBatchTransferFrom( - minterAddr, - identity, - [1, 2], - [amount1, amount2], - '0x0', - ); - const balances = await token.balanceOfBatch([identity, identity], [1, 2]); - expect(balances.map((b: utils.BigNumber) => b.toNumber())).deep.equal([amount1, amount2]); - }); - - it('when ERC223 tokens transfered to proxy and returned by it', async () => { - const amount = 100; - const sender = provider.getSigner(3); - const tokenERC223Factory = new ContractFactory(tokenERC223Abi, tokenERC223Bytecode, sender); - const token = await (await tokenERC223Factory.deploy()).deployed(); - const senderAddr = await sender.getAddress(); - await (await token.mint(senderAddr, 1000)).wait(); - await token['transfer(address,uint256,bytes)']( - identity, - amount, - '0x0', - ); - const balance = await token.balanceOf(identity); - expect(balance.toNumber()).equal(amount); - - const params: Array = [senderAddr, amount, '0x0']; - const data = new Interface(tokenERC223Abi).functions['transfer(address,uint256,bytes)'].encode(params); - await proxy.sendTransaction(data, token.address, 0, { gasLimit: 100000 }) - .then((tx: any) => tx.wait()); - expect((await token.balanceOf(identity)).toNumber()).equal(0); - expect((await token.balanceOf(senderAddr)).toNumber()).equal(1000); - }); - - describe('ERC1155Multiproxy', () => { - it('proxy owner can be changed', async () => { - const receiver = await provider.getSigner(3).getAddress(); - - expect(await proxy.owner()).equal(creatorAddr); - - await proxy.changeOwner(receiver); - - expect(await proxy.owner()).equal(receiver); - }); - - // it('burning should cease ownership of the proxy', async () => { - // await erc1155.burn(creatorAddr, serial); - // expect(parseInt(await erc1155.balanceOf(creatorAddr, serial), 16)).equal(0); - // expect(await proxy.owner()).equal('0x0000000000000000000000000000000000000000'); - // }); - - // it('batch burning should cease ownership of the burnded proxies', async () => { - // const serial2 = '1234'; - // const proxy2 = await (await proxyFactory.deploy(erc1056.address, erc1155.address, serial2, creatorAddr)).deployed(); - - // await erc1155.burn(creatorAddr, serial); - // await erc1155.burn(creatorAddr, serial2); - - // expect(parseInt(await erc1155.balanceOf(creatorAddr, serial), 16)).equal(0); - // expect(await proxy.owner()).equal('0x0000000000000000000000000000000000000000'); - - // expect(parseInt(await erc1155.balanceOf(creatorAddr, serial2), 16)).equal(0); - // expect(await proxy2.owner()).equal('0x0000000000000000000000000000000000000000'); - // }); - }); + describe('OFFERABLE IDENTITY TESTS', identityTestSuite); + describe('PROXY OPERATOR TESTS', offerableIdentityOperatorTestSuite); }); diff --git a/packages/proxyIdentity/truffle-config.js b/packages/proxyIdentity/truffle-config.js index 5624ec4c..cf7f1731 100644 --- a/packages/proxyIdentity/truffle-config.js +++ b/packages/proxyIdentity/truffle-config.js @@ -85,7 +85,7 @@ module.exports = { // Configure your compilers compilers: { solc: { - version: "^0.5.0", // Fetch exact version from solc-bin (default: truffle's version) + version: "0.8.0", // Fetch exact version from solc-bin (default: truffle's version) docker: false, // Use "0.5.1" you've installed locally with docker (default: false) settings: { // See the solidity docs for advice about optimization and evmVersion optimizer: { diff --git a/tests/integration/proxyIdentity.test.ts b/tests/integration/proxyIdentity.test.ts deleted file mode 100644 index 96d5d55a..00000000 --- a/tests/integration/proxyIdentity.test.ts +++ /dev/null @@ -1,138 +0,0 @@ -import { ContractFactory, Contract, providers } from 'ethers'; -import { expect } from 'chai'; -import { - erc1056Build, createProxy, proxyFactoryBuild, multiproxyBuild, -} from '../../packages/proxyIdentity'; -import { - IClaimsUser, ClaimsUser, -} from '../../packages/claims'; -import { DIDDocumentFull } from '../../packages/did-document'; -import { Methods } from '../../packages/did'; -import { DidStore } from '../../packages/did-ipfs-store'; -import { - Operator, signerFromKeys, walletPubKey, withKey, withProvider, -} from '../../packages/did-ethr-resolver'; - -import { spawnIpfsDaemon, shutDownIpfsDaemon, deployRegistry } from '..'; -import { Keys } from '../../packages/keys/src'; - -const { JsonRpcProvider } = providers; - -const { abi: proxyFactoryAbi, bytecode: proxyFactoryBytecode } = proxyFactoryBuild; -const { ethrReg: { abi: erc1056Abi, bytecode: erc1056Bytecode } } = erc1056Build; -const { abi: multiProxyAbi, bytecode: multiProxyBytecode } = multiproxyBuild; - -describe('Identities shared management with proxies', function () { - this.timeout(0); - - const provider = new JsonRpcProvider('http://localhost:8544'); - - const deployer = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); - const bebat = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); - const oem = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); - const installer = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); - const customer = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); - - let oemDid: string; - let installerDid: string; - - let erc1056: Contract; - let erc1155: Contract; - let proxyFactory: Contract; - - const serial = '1'; - let device: Contract; - - let store: DidStore; - - let installerClaims: IClaimsUser; - - let installerDoc: DIDDocumentFull; - let oemDoc: DIDDocumentFull; - - const claimData = { - type: 'lithium', - status: 'installed', - }; - - before(async () => { - const registry = await deployRegistry([ - await deployer.getAddress(), - await bebat.getAddress(), - await oem.getAddress(), - await installer.getAddress(), - await customer.getAddress(), - ]); - - oemDid = `did:${Methods.Erc1056}:${await oem.getAddress()}`; - installerDid = `did:${Methods.Erc1056}:${await installer.getAddress()}`; - - const erc1056Creator = new ContractFactory(erc1056Abi, erc1056Bytecode, deployer); - erc1056 = await erc1056Creator.deploy(); - - const erc1155Creator = new ContractFactory(multiProxyAbi, multiProxyBytecode, deployer); - erc1155 = await erc1155Creator.deploy(); - - const proxyFactoryCreator = new ContractFactory(proxyFactoryAbi, proxyFactoryBytecode, bebat); - proxyFactory = await proxyFactoryCreator.deploy(erc1056.address, erc1155.address); - - store = new DidStore(await spawnIpfsDaemon()); - - oemDoc = new DIDDocumentFull(oemDid, new Operator(oem, { address: registry })); - await oemDoc.create(); - - installerDoc = new DIDDocumentFull(installerDid, new Operator(installer, { address: registry })); - await installerDoc.create(); - - installerClaims = new ClaimsUser(installer, installerDoc, store); - }); - - it('BEBAT creates proxy identity and becomes its owner', async () => { - device = await createProxy(proxyFactory, serial); - expect(await device.owner()).equal(await bebat.getAddress()); - }); - - it('BEBAT transfers ownership to OEM', async () => { - await device.connect(bebat).changeOwner(await oem.getAddress()); - expect(await device.owner()).equal(await oem.getAddress()); - }); - - it('OEM updates Battery metadata', async () => { - const uri = 'ipfs://123abc'; - await device.connect(oem).updateUri(uri); - expect(await device.uri()).equal(uri); - }); - - it('OEM as the owner adds Installer to approved agents', async () => { - await device.connect(oem).addApprovedAgent(await installer.getAddress()); - expect( - await device.isApproved(await installer.getAddress()), - ) - .true; - }); - - it('Installer publishes self-issued claim', async () => { - const claim = await installerClaims.createPublicClaim(claimData); - - const claimUrl = await installerClaims.publishPublicClaim(claim, claimData); - - expect(await store.get(claimUrl)).equal(claim); - }); - - it('Installer adds customer to approved agents', async () => { - await device.connect(installer).addApprovedAgent(await customer.getAddress()); - - expect(await device.isApproved(await customer.getAddress())).true; - }); - - it('Approved customer can update metadata uri', async () => { - const uri = 'ipfs://ipfs/123abc'; - await device.connect(customer).updateUri(uri); - - expect(await device.uri()).equal(uri); - }); - - after(async () => { - await shutDownIpfsDaemon(); - }); -});