* .gitignore gen'd Python staking contract wrappers * abi-gen/test-cli: check Python type hints in lint * sra_client.py: Update doc for replicating examples * abi-gen/Py: fix call() return type incl. tx hash Previously, generated wrappers for contract methods were including type hints that suggested that a call() (as opposed to a send_transaction()) might return either the underlying return type or a transaction hash. This doesn't make sense because a call() will never return a TX hash. Now, the type hint just has the return type of the underlying method. * abi-gen: fix test_cli:lint checking wrong code test_cli:lint is meant to be a rudimentary test of the code generated by abi-gen. However, previously, this script was incorporated into `yarn lint`, and in CircleCI `static-tests` runs independently of `build`. Consequently, the runs of test_cli:lint were checking the OLD code, which was previously generated and checked in to git, NOT the code generated with the version of abi-gen represented by the git repo. Now, test_cli:lint happens during `yarn test` rather than `yarn lint`, because `yarn test` IS dependent on `yarn build`. * contract_wrappers.py: fix misplaced doc Previously, the routines `order_to_jsdict()` and `jsdict_to_order()` were moved from contract_wrappers.exchange.types to contract_wrappers.order_conversions. However, the module-level docstring describing those routines was accidentally left behind in exchange.types. * abi-gen/Py: stop documenting return types for TXs Previously the send_transaction() interface included docstring documentation for the return types of the contract method, but that doesn't make any sense because send_transaction() returns a transaction hash rather than any actual return values. * abi-gen/Py: stop gen'ing send_tx for const methods * abi-gen/Py: add build_tx to contract methods * abi-gen/Py: fix incorrect method return types Fixes #2298 . * abi-gen/Py: rm validator arg to no-input methods * abi-gen: mv Py Handlebars helpers to own module Move all existing Python-related Handlebars helpers to the newly created python_handlebars_helpers module. * abi-gen: refactor internal interface No functionality is changed. Sole purpose of this commit is to facilitate an upcoming commit. * abi-gen: refactor internal interface No functionality is changed. Sole purpose of this commit is to facilitate an upcoming commit. * abi-gen/Py: name tuples w/internalType, not hash Use the new `internalType` field on the `DataItem`s in the contract artifact to give generated tuple classes a better name than just hashing their component field names. * Fix CI errors * abi-gen/Py/wrapper: make internal member private * Update CHANGELOGs
122 lines
5.9 KiB
JSON
122 lines
5.9 KiB
JSON
{
|
|
"name": "@0x/abi-gen",
|
|
"version": "4.4.0-beta.1",
|
|
"engines": {
|
|
"node": ">=6.12"
|
|
},
|
|
"description": "Generate contract wrappers from ABI and handlebars templates",
|
|
"main": "lib/src/index.js",
|
|
"types": "lib/src/index.d.ts",
|
|
"scripts": {
|
|
"lint": "tslint --format stylish --project .",
|
|
"fix": "tslint --fix --format stylish --project . && yarn lint-contracts",
|
|
"clean": "shx rm -rf lib && yarn test_cli:clean",
|
|
"build": "tsc -b && yarn generate_contract_wrappers && yarn prettier_contract_wrappers && yarn test_cli:build",
|
|
"build:ci": "yarn build",
|
|
"test": "run-p run_mocha && yarn test_cli",
|
|
"test:circleci": "yarn test:coverage && yarn test_cli",
|
|
"run_mocha": "(uname -s | grep -q Darwin && echo 'HACK! skipping mocha run due to https://github.com/0xProject/0x-monorepo/issues/2000') || mocha --require source-map-support/register --require make-promises-safe lib/test/*_test.js --timeout 100000 --bail --exit",
|
|
"test:coverage": "nyc npm run test --all && yarn coverage:report:lcov",
|
|
"coverage:report:lcov": "nyc report --reporter=text-lcov > coverage/lcov.info",
|
|
"test_cli": "run-p test_cli:test_typescript diff_contract_wrappers test_cli:lint",
|
|
"test_cli:clean": "rm -rf test-cli/test_typescript/lib",
|
|
"test_cli:build": "tsc --project test-cli/tsconfig.json",
|
|
"test_cli:test_typescript": "mocha --require source-map-support/register --require make-promises-safe test-cli/test_typescript/lib/**/*_test.js --timeout 100000 --bail --exit",
|
|
"test_cli:lint": "run-p test_cli:lint_solidity test_cli:lint_python # test_cli:lint_typescript # HACK: typescript lint disabled because prettier fails",
|
|
"test_cli:lint_solidity": "solhint -c ../../contracts/.solhint.json test-cli/fixtures/contracts/*.sol",
|
|
"test_cli:lint_typescript": "prettier --check ./test-cli/output/typescript/* --config ../../.prettierrc",
|
|
"test_cli:lint_python": "pip install -r test-cli/fixtures/python-requirements.txt && run-p test_cli:lint_python:black test_cli:lint_python:mypy test_cli:lint_python:pylint",
|
|
"test_cli:lint_python:black": "black --line-length=79 --check ./test-cli/output/python/*",
|
|
"test_cli:lint_python:mypy": "MYPYPATH=./stubs mypy ./test-cli/output/python",
|
|
"test_cli:lint_python:pylint": "PYTHONPATH=../../python-packages/contract_wrappers/src pylint --rcfile=test-cli/fixtures/pylintrc ./test-cli/output/python/*",
|
|
"rebuild_and_test": "run-s build test",
|
|
"test:profiler": "SOLIDITY_PROFILER=true run-s build run_mocha profiler:report:html",
|
|
"test:trace": "SOLIDITY_REVERT_TRACE=true run-s build run_mocha",
|
|
"clean:sol": "rm -rf test-cli/artifacts",
|
|
"compile:sol": "sol-compiler",
|
|
"watch:sol": "sol-compiler -w",
|
|
"prettier_contract_wrappers": "prettier --write ./test-cli/output/typescript/* --config ../../.prettierrc",
|
|
"generate_contract_wrappers": "run-p gen_typescript gen_python",
|
|
"gen_typescript": "abi-gen --abis ${npm_package_config_abis} --debug --output ./test-cli/output/typescript --backend ethers",
|
|
"gen_python": "pip install black && abi-gen --abis ${npm_package_config_abis} --output ./test-cli/output/python --language Python",
|
|
"diff_contract_wrappers": "git diff --exit-code ./test-cli/output",
|
|
"coverage:report:text": "istanbul report text",
|
|
"coverage:report:html": "istanbul report html && open coverage/index.html",
|
|
"profiler:report:html": "istanbul report html && open coverage/index.html",
|
|
"contracts:gen": "contracts-gen generate"
|
|
},
|
|
"config": {
|
|
"abis": "./test-cli/fixtures/artifacts/@(AbiGenDummy|LibDummy|TestLibDummy).json",
|
|
"abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually."
|
|
},
|
|
"bin": {
|
|
"abi-gen": "bin/abi-gen.js"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/0xProject/0x-monorepo.git"
|
|
},
|
|
"license": "Apache-2.0",
|
|
"bugs": {
|
|
"url": "https://github.com/0xProject/0x-monorepo/issues"
|
|
},
|
|
"homepage": "https://github.com/0xProject/0x-monorepo/packages/abi-gen/README.md",
|
|
"dependencies": {
|
|
"@0x/types": "^2.5.0-beta.1",
|
|
"@0x/typescript-typings": "^4.4.0-beta.1",
|
|
"@0x/utils": "^4.6.0-beta.1",
|
|
"@types/toposort": "^2.0.1",
|
|
"chalk": "^2.3.0",
|
|
"change-case": "^3.0.2",
|
|
"cli-format": "^3.0.9",
|
|
"ethereum-types": "^2.2.0-beta.1",
|
|
"glob": "^7.1.2",
|
|
"handlebars": "^4.1.2",
|
|
"lodash": "^4.17.11",
|
|
"mkdirp": "^0.5.1",
|
|
"tmp": "^0.0.33",
|
|
"to-snake-case": "^1.0.0",
|
|
"toposort": "^2.0.2",
|
|
"yargs": "^10.0.3"
|
|
},
|
|
"devDependencies": {
|
|
"@0x/assert": "^2.2.0-beta.1",
|
|
"@0x/base-contract": "^5.5.0-beta.1",
|
|
"@0x/contracts-gen": "^1.1.0-beta.1",
|
|
"@0x/dev-utils": "^2.4.0-beta.1",
|
|
"@0x/json-schemas": "^4.1.0-beta.1",
|
|
"@0x/sol-compiler": "^3.2.0-beta.1",
|
|
"@0x/subproviders": "^5.1.0-beta.1",
|
|
"@0x/tslint-config": "^3.1.0-beta.1",
|
|
"@0x/web3-wrapper": "^6.1.0-beta.1",
|
|
"@types/glob": "5.0.35",
|
|
"@types/mkdirp": "^0.5.2",
|
|
"@types/mocha": "^5.2.7",
|
|
"@types/node": "*",
|
|
"@types/tmp": "^0.0.33",
|
|
"@types/yargs": "^11.0.0",
|
|
"chai": "^4.0.1",
|
|
"chai-as-promised": "^7.1.0",
|
|
"chai-bignumber": "^3.0.0",
|
|
"dirty-chai": "^2.0.1",
|
|
"ethers": "~4.0.4",
|
|
"make-promises-safe": "^1.1.0",
|
|
"mocha": "^6.2.0",
|
|
"npm-run-all": "^4.1.2",
|
|
"shx": "^0.2.2",
|
|
"sinon": "^4.0.0",
|
|
"solhint": "^1.4.1",
|
|
"tslint": "5.11.0",
|
|
"typescript": "3.0.1"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"files": [
|
|
"templates/*",
|
|
"*.js",
|
|
"*.ts",
|
|
"*.map"
|
|
]
|
|
}
|