brownie

A Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.

MIT License

Downloads
33.3K
Stars
2.6K
Committers
123

Bot releases are visible (Hide)

brownie - brownie 1.10.2

Published by iamdefinitelyahuman over 4 years ago

Fixed

  • decoding error on internal call to an invalid function in a known contract (#691)
  • chain.redo across multiple transactions (#692)
brownie - brownie 1.10.1

Published by iamdefinitelyahuman over 4 years ago

Fixed

  • chain fixture returns expected object (#689)
brownie - brownie 1.10.0

Published by iamdefinitelyahuman over 4 years ago

Added

  • TransactionReceipt.call_trace includes inputs and return values (#679)
  • chain object (#681)
  • --silent flag for brownie run (#680)
  • address member for decoded events (#682)

Changed

  • Various rpc methods have been deprecated in favor of the new chain object (#681)
  • Improvements to console autocompletion / type hints (#683)

Fixed

  • Properly handle Solidity source maps that are too long (#684)
brownie - brownie 1.9.8

Published by iamdefinitelyahuman over 4 years ago

Added

  • Syntax highlights for Vyper exceptions (#668)
  • Syntax highlights for Solidity exceptions (#675)

Fixed

  • Infinite loop when querying implementation contract from Etherscan (#672)
  • Check return status before streaming brownie mix (#673)
  • Meaningful error message on failed trace (#674)
  • Handle incomplete Solidity source map (#676)
brownie - brownie 1.9.7

Published by iamdefinitelyahuman over 4 years ago

Added

  • max gas limit configuration setting (#664)
  • --failfast flag for hypothesis tests (#666)

Fixed

  • Iterate trace in reverse when looking for revert reason (#663)
  • TransactionReceipt verbosity and minor fixes (#665)
brownie - brownie 1.9.6

Published by iamdefinitelyahuman over 4 years ago

Changed

  • Reduce length of traceback on failed Vyper compilation (#661)
  • Run calls as transactions when catching dev revert string (#659)

Fixed

  • Do not reset local chain when closing Brownie (#660)
brownie - brownie 1.9.5

Published by iamdefinitelyahuman over 4 years ago

Changed

  • Support for Vyper v0.2.1 (#656)
  • Updated development network config to match mainnet's latest gas limits (#650)

Fixed

  • Heuristic for non-payable function reverts based on changes in Solidity v0.6.9 (#647)
  • brownie run exit status when using --interactive flag (#655)
brownie - brownie 1.9.4

Published by iamdefinitelyahuman over 4 years ago

Fixed

  • Http Requests now send a custom User-Agent (Fixes Kovan api requests) (#643)
  • Ensure nonce increments prior to sending a new transaction (#645)
brownie - brownie 1.9.3

Published by iamdefinitelyahuman over 4 years ago

Added

  • Accounts can now be unlocked on development networks (#633)

Fixed

  • Parity error messages (#631)
  • Geth error messages on reverted eth_call (#639)
  • Etherscan source code returned as compiler JSON input (#637)
  • Enter correct frame on exception with brownie run -I (#638)
  • Always exit with non-zero status on an unhandled exception (#640)
brownie - brownie 1.9.2

Published by iamdefinitelyahuman over 4 years ago

Added

  • Filter report outputs by source path or contract name (#626)

Fixed

  • Delete required_confs from transaction parameters prior to making a call (#620)
  • Handle coverage data and gas profile as pytest reports, fixes Windows formatting issues (#620)
  • Filter fixtures from namespace when using interactive test debugger (#627)
brownie - brownie 1.9.1

Published by iamdefinitelyahuman over 4 years ago

Fixed

  • Return actual call when running calls as transactions (#614)
  • Non-zero exit status when using brownie test (#616)
brownie - Brownie 1.9.0

Published by iamdefinitelyahuman over 4 years ago

Added

  • Project folder structure is now configurable (#581)
  • Deployment artifacts can now be saved via project setting dev_deployment_artifacts: true (#590)
  • All deployment artifacts are tracked in deployments/map.json (#590)
  • required_confs = n / {'required_confs: n} argument for transactions. Will wait for n confirmations before processing the tx receipt. n = 0 will immediately return a pending receipt. (#587)
  • tx.confirmations shows number of confirmations, tx.wait(n) waits until tx has n or more confirmations. (#587)
  • load_source hook point (#584)
  • Support for BIP39 mnemonics (#585)
  • Expose block_identifier for contract calls (#596)
  • length kwarg for strategy('address') (#607)

Changed

  • tx.call_trace() now displays internal and total gas usage (#564)
  • Default nonce for transactions now takes pending transactions into account. (#597)
  • Raise more expressive exception on stale fork (#598)
  • Automatically add middleware when connecting to POA networks (#602)
  • Hypothesis output includes code highlights (#605)

Fixed

  • Geth Traces depth reduced (#562)
  • Ganache gasCost in traces (ganache bug) (#562)
  • Decoding error when contracts use the same event signature with different argument indexing (#575)
  • Repeated alerts will now run indefinitely, instead of twice (#608)
  • Catch ZombieProcess and NoSuchProcess when attaching to ganache in OSX (#574)
  • Snapshotting during failed @given tests (#591)
  • Rpc.undo correctly rewinds to immediately before a transaction (#604)

A big thank you to @matnad for many contributions during this release!

brownie - brownie 1.8.9

Published by iamdefinitelyahuman over 4 years ago

Changed

  • Raise ValueError instead of VirtualMachineError when the returned RPC error does not contain a data field (#555)
  • Improve readability of exception when compilation fails while running pytest (#556)

Fixed

  • IPC timeout setting (#554)
  • Pytest import issues (#556)
brownie - brownie 1.8.8

Published by iamdefinitelyahuman over 4 years ago

Changed

  • Check web3.eth.accounts for new unlocked accounts when calling Accounts.at (#551)

Fixed

  • Apply timeout setting to all web3 provider types (#549)
  • KeyError when handling certain types of RPC errors (#550)
brownie - brownie 1.8.7

Published by iamdefinitelyahuman over 4 years ago

Added

  • --interactive flag when using brownie run (#547)

Changed

  • Allow connections to wss:// endpoints (#542)
  • Improved --gas report (#543)
  • Adjust how gas prices are handled to allow use of web3 gas price API (#530)

Fixed

  • Compiler error when on moving contracts (#545)
  • Allow timeout as a field in brownie networks CLI (#533)
  • Issues with interactive debugging in Windows (#544)
  • Handle selfdestructed contract during deployment (#546)
brownie - brownie 1.8.6

Published by iamdefinitelyahuman over 4 years ago

Added

  • contract_strategy for drawing objects from a ContractContainer (#528)

Changed

  • Warn on direct import of hypothesis.given (#526)
  • Standardize revert exceptions between calls and transactions (#527)

Fixed

  • Ensure correct frame for locals and globals with pytest console debugging (#523)
  • Add failed tx's to undo buffer prior to raising (#524)
brownie - brownie 1.8.5

Published by iamdefinitelyahuman over 4 years ago

Added

  • Account.gas_used (#518)

Fixed

  • Decoding error with arrays of tuples (#517)
  • Allow pasting multiple commands into the console (#519)
  • Minor pytest fixes (#521)
brownie - brownie 1.8.4

Published by iamdefinitelyahuman over 4 years ago

Added

  • Wei.to for unit conversion (#501)
  • Exposed block_time, default_balance and time ganache-cli parameters (#501)
  • TransactionReceipt.timestamp (#504)

Changed

  • brownie-config.yaml can now specify ganache-cli parameters (#501)
  • Global variables are now available when using the console for debugging (#506)
  • Simplified syntax for calling overloaded methods (#507)
brownie - brownie 1.8.3

Published by iamdefinitelyahuman over 4 years ago

Changed

  • Exposed nonce parameter to deploy, transfer and transact methods (#488)
  • Obtain EVM compiler version and proxy information from Etherscan API (#492)
  • Better sorting of gas used output (#491)

Fixed

  • Rpc.undo / Rpc.redo with non-instant confirmations (#483)
  • Minimum solc version when using Contract.from_explorer on OSX (#490)
  • Allow path remappings and imports from packages in interfaces (#495)
brownie - brownie 1.8.2

Published by iamdefinitelyahuman over 4 years ago

Fixed

  • Allow leading underscores in project root path (#478)
  • Handle non-string values in pytest print function (#479)
  • Do not display .None for function name of proxied contract calls (#481)