{ "info": { "author": "Daniel Luca", "author_email": "daniel.luca@consensys.net", "bugtrack_url": null, "classifiers": [], "description": "# Flaterra\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![CircleCI](https://circleci.com/gh/cleanunicorn/flaterra/tree/master.svg?style=shield)](https://circleci.com/gh/cleanunicorn/flaterra)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/98178f0ea4ce44ecbb5dc7a918ba94f7)](https://www.codacy.com/app/lucadanielcostin/flaterra)\n[![PyPI](https://img.shields.io/pypi/v/flaterra.svg)](https://pypi.org/project/flaterra/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=cleanunicorn_flaterra&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=cleanunicorn_flaterra)\n\nInspired by \"earth\" in Portuguese, terra and the flatness of the Earth.\n\nFlaterra parses the provided Solidity source file and adds any other `imported` files. This is useful if you want to upload your source code to a block explorer for verification, use it with [Remix](https://remix.ethereum.org) or to run analysis on it, for example with [MythX](https://mythx.io/) or [Mythril](https://github.com/ConsenSys/mythril-classic/).\n\nA way to make Solidity source code flat like the earth.\n\n![Flat Earth](./static/flat-earth.png)\n\n## Install\n\nInstall it with `pip` from PyPI.\n\n```console\n$ pip install --user flaterra\n```\n\n## Usage\n\nSpecify the main contract you want flatten with `--contract=`.\n\n```console\n$ flaterra --contract=ERC20.sol\nINFO:root:Reading file .//ERC20.sol\nINFO:root:Reading file .//./IERC20.sol\nINFO:root:Reading file .//../../math/SafeMath.sol\nINFO:root:Writing flattened file ERC20_flat.sol\n```\n\nIt assumes the contract is in the current folder. If the contract is in another folder specify it with `--folder=contracts/`.\n\n## Details\n\nIt is able to read import formats like\n\n```solidity\nimport \"./contract.sol\";\nimport './another_contract.sol';\nimport {Contract1, Contract2} from \"contracts.sol\";\n```\n\nPragmas are added only from the main Solidity file. These formats are supported.\n\n```solidity\npragma solidity 0.5.0;\npragma experimental ABIEncoderV2;\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "flaterra", "package_url": "https://pypi.org/project/flaterra/", "platform": "", "project_url": "https://pypi.org/project/flaterra/", "project_urls": null, "release_url": "https://pypi.org/project/flaterra/0.1.7/", "requires_dist": null, "requires_python": "", "summary": "", "version": "0.1.7" }, "last_serial": 5113819, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "4c41b617d1288932ef5067a561d86a03", "sha256": "2efbe54a0ec084a6828d566329bbab50b7dd10deafddeb3615cc5926dbbcce70" }, "downloads": -1, "filename": "flaterra-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4c41b617d1288932ef5067a561d86a03", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3235, "upload_time": "2019-02-11T19:31:47", "url": "https://files.pythonhosted.org/packages/af/cc/d4d652540afc69c8ec6db1fb08e6cd57f1bac68076e5d3c6c58db9f90380/flaterra-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94579b1f779ac9d4263aba81484b0421", "sha256": "2d529e8da96f005e83927fb52b4cb18f570c38d54d65871f795d6dc5e249d12d" }, "downloads": -1, "filename": "flaterra-0.1.1.tar.gz", "has_sig": false, "md5_digest": "94579b1f779ac9d4263aba81484b0421", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2747, "upload_time": "2019-02-11T19:31:49", "url": "https://files.pythonhosted.org/packages/36/05/04c3166356e1d5c8c6a89de7abb943eb39fba592fd5ef8a3aef4b5a31754/flaterra-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e3c46516e87b8133ab0c0be4cb399911", "sha256": "627bda663d63121d768427d2f0c11f37754ed23e96072a9f63858908690f7755" }, "downloads": -1, "filename": "flaterra-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e3c46516e87b8133ab0c0be4cb399911", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3829, "upload_time": "2019-02-12T12:55:17", "url": "https://files.pythonhosted.org/packages/4e/cf/1837be6a11e538469f29d19311f36a31074b7ccc9b7130379e7d68083c1b/flaterra-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90ceb1e6297b8439d6b4e8c428eac3c8", "sha256": "4396addb1d98d7567f2a3f3955dabf849e7684fcda328e92f0297ba0d41933c7" }, "downloads": -1, "filename": "flaterra-0.1.2.tar.gz", "has_sig": false, "md5_digest": "90ceb1e6297b8439d6b4e8c428eac3c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3424, "upload_time": "2019-02-12T12:55:18", "url": "https://files.pythonhosted.org/packages/65/69/09bfcc5b1eb7b14590185f55dce02f7230ec1f970e7bac212d43f8a854a2/flaterra-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e2709e5e133b6b704032695853c1059b", "sha256": "f8386f7b64d1f21ac3fbf2bb10beb2884e7f2c548d33b21ecc529edee61bb82f" }, "downloads": -1, "filename": "flaterra-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e2709e5e133b6b704032695853c1059b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3552, "upload_time": "2019-02-12T14:00:44", "url": "https://files.pythonhosted.org/packages/77/7d/7f591150968eec60d8c7fda1ab683be93459cc0fd5ca78714a693cbd98ee/flaterra-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "649675f07ad5e788f8f0997519c2739e", "sha256": "05d01ffcb0ea0585594ff5fe05643c7fe6c7003fb7cef5a3e042add017310649" }, "downloads": -1, "filename": "flaterra-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "649675f07ad5e788f8f0997519c2739e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3969, "upload_time": "2019-02-12T14:04:16", "url": "https://files.pythonhosted.org/packages/b5/36/0efda69b0a13d2f32fe0e0cf8a4519bb742bb104cc840f1d272781da3b96/flaterra-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04d91ee0083118a0caaad39264697d91", "sha256": "3f4e93c595237764923caf912696b38d18ae660c0a5069b03eeeb9f101ac00de" }, "downloads": -1, "filename": "flaterra-0.1.4.tar.gz", "has_sig": false, "md5_digest": "04d91ee0083118a0caaad39264697d91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3562, "upload_time": "2019-02-12T14:04:17", "url": "https://files.pythonhosted.org/packages/cb/42/a45fd81cdfc3116ecdd781ffdf854d2fdcec389c8397be05840112f179b1/flaterra-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "f19d719dbd2e9f377235b92d956c1cc0", "sha256": "56ad3ebe0adb4501bcc4c1e053799842518d154787a86f003072ea4428b2ceec" }, "downloads": -1, "filename": "flaterra-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f19d719dbd2e9f377235b92d956c1cc0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4019, "upload_time": "2019-02-12T16:33:57", "url": "https://files.pythonhosted.org/packages/76/9e/c667aeb3daca25c844b98d36c3268fcc6ee8289c4b629b4c90354c975412/flaterra-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c440def0981174a4291a0af24abf0088", "sha256": "4a98c3d7003ad05659cc8ad7c975914a580112150dcfc404a31b4de18822fbb2" }, "downloads": -1, "filename": "flaterra-0.1.5.tar.gz", "has_sig": false, "md5_digest": "c440def0981174a4291a0af24abf0088", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3604, "upload_time": "2019-02-12T16:33:58", "url": "https://files.pythonhosted.org/packages/4a/aa/0b4da635e4fbc694b0ad8c14681bc65efc85f9f8507492d03ee9d44e0331/flaterra-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "d516f875cc969334c77d9c6631c0ad17", "sha256": "6c22036eda56663dc793d6c2a81ea5bb681cbbbbe8c99c88f14d1375f52bf865" }, "downloads": -1, "filename": "flaterra-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d516f875cc969334c77d9c6631c0ad17", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4030, "upload_time": "2019-02-12T17:49:37", "url": "https://files.pythonhosted.org/packages/64/3c/1deb54d2431c3a9d539454e9b87b4d1a5ed3fee46f58594fddb968dbed57/flaterra-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97465b1c036955d13601e4362aa8b518", "sha256": "2c33038a7318827fd3248a65487a177c7ac8ee4cc8f02fb15b7370f3ad67ef1c" }, "downloads": -1, "filename": "flaterra-0.1.6.tar.gz", "has_sig": false, "md5_digest": "97465b1c036955d13601e4362aa8b518", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3620, "upload_time": "2019-02-12T17:49:38", "url": "https://files.pythonhosted.org/packages/44/0b/7dbd6bdebd717a7d94867a5702cb549463fab609025927f7d4cd48636e59/flaterra-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "38b8a50697f052d02e7f637e2c40377c", "sha256": "977a1e9a17bb7827a93378da344c06ef1116c83351f42bdc7491c2c9b3f1cb19" }, "downloads": -1, "filename": "flaterra-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "38b8a50697f052d02e7f637e2c40377c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4300, "upload_time": "2019-04-08T13:46:00", "url": "https://files.pythonhosted.org/packages/8f/7b/1dad1416b9e3d18543ca8542cf6d94449c45aa3db7e94a0987534c0bef88/flaterra-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87082b3997a3848b2c68604365a2fa29", "sha256": "93dfba5f181559aa7175cf517e5fb4d64ac546f6b32b6277848535c773349fca" }, "downloads": -1, "filename": "flaterra-0.1.7.tar.gz", "has_sig": false, "md5_digest": "87082b3997a3848b2c68604365a2fa29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3696, "upload_time": "2019-04-08T13:46:01", "url": "https://files.pythonhosted.org/packages/4a/83/b4750cbf07902c185f04de28e6f99223a8937a8d6a3ff5a6829a44a885ac/flaterra-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "38b8a50697f052d02e7f637e2c40377c", "sha256": "977a1e9a17bb7827a93378da344c06ef1116c83351f42bdc7491c2c9b3f1cb19" }, "downloads": -1, "filename": "flaterra-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "38b8a50697f052d02e7f637e2c40377c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4300, "upload_time": "2019-04-08T13:46:00", "url": "https://files.pythonhosted.org/packages/8f/7b/1dad1416b9e3d18543ca8542cf6d94449c45aa3db7e94a0987534c0bef88/flaterra-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87082b3997a3848b2c68604365a2fa29", "sha256": "93dfba5f181559aa7175cf517e5fb4d64ac546f6b32b6277848535c773349fca" }, "downloads": -1, "filename": "flaterra-0.1.7.tar.gz", "has_sig": false, "md5_digest": "87082b3997a3848b2c68604365a2fa29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3696, "upload_time": "2019-04-08T13:46:01", "url": "https://files.pythonhosted.org/packages/4a/83/b4750cbf07902c185f04de28e6f99223a8937a8d6a3ff5a6829a44a885ac/flaterra-0.1.7.tar.gz" } ] }