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 hidden (Show)

brownie - brownie 1.12.2

Published by iamdefinitelyahuman almost 4 years ago

Added

  • Detect EIP1822 proxies Contract.from_explorer (#881)
  • Support for EIP 1967 proxy pattern in Contract.from_explorer (#876)
  • ContractContainer.decode_input (#879)

Changed

  • Build artifacts for dependencies are now saved at build/contracts/dependencies (#878)

Fixed

  • Ensure receiver address is checksummed when calling eth_estimateGas (#880)
brownie - brownie 1.12.1

Published by iamdefinitelyahuman almost 4 years ago

Fixed

  • Append zero-bytes when expected size of memory exceeds actual size (#868)
brownie - brownie 1.12.0

Published by iamdefinitelyahuman almost 4 years ago

Added

  • TransactionReceipt.replace for rebroadcasting pending transactions (#846)
  • Gas strategies for automatic transaction pricing and replacement (#847)
  • Allow broadcasting reverting transactions in a live environment (#854)
  • Add timedelta as a kwarg in chain.mine (#856)
  • require_network pytest marker (#858)
  • TransactionReceipt.dev_revert_msg to access the dev revert string when there is a regular revert message (#860)
  • Allow targetting dev revert string in brownie.reverts (#861)
  • Support regex in brownie.reverts (#864)

Changed

  • Improved handling of trace queries and related exceptions (#853)
  • Disallow assignment over contract functions (#855)
  • skip_coverage and no_call_coverage are now markers, the fixtures have been deprecated (#859)
  • Improved exception messages for contract calls missing the "from" field (864)

Fixed

  • Address resolution in Contract.at (#842)
  • Handle undecodable revert messages within subcalls (#843)
  • Bug when installed packages contain an interfaces folder (#857)
brownie - brownie 1.11.12

Published by iamdefinitelyahuman almost 4 years ago

Added

  • timestamp kwarg for chain.mine (#838)
  • ETH_ADDRESS constant (#835)
  • show nonce in console output for pending transactions (#833)

Fixed

  • Allow use of ProjectContract in tx "from" field on development networks (#836)
  • Do not attempt to open debugging console when the failing test has not been collected due to a SyntaxError (#834)
brownie - brownie 1.11.11

Published by iamdefinitelyahuman almost 4 years ago

Added

  • ZERO_ADDRESS constant is now available from main namespace (#830)
  • Include nonce in stdout output when broadcasting a transaction (#833)

Changed

  • brownie bake project names are no longer case sensetive (#829)

Fixed

  • Handle str when looking at traceback paths (#823)
  • Add __ne__ to ReturnValue object (#831)
brownie - brownie 1.11.10

Published by iamdefinitelyahuman almost 4 years ago

Changed

  • During testing, do not connect to network until immediately before running tests (#819)

Fixed

  • Vyper 0.2.5 non-payable revert error no longer displays the entire contract (#812)
  • Handle correct ConnectionError when pulling Vyper versions (#815)
  • Typo in gasPrice during gas estimation (#817)
  • Handle 0x when parsing tuples with black for call trace (#818)
  • Console completions for Contract.deploy (#820)
brownie - brownie 1.11.9

Published by iamdefinitelyahuman about 4 years ago

Added

  • TxHistory.filter method (#804)
  • Allow force-compiling of specific contracts in CLI (#802)

Fixed

  • Include vyper library version in installed versions, after installing a new version (#803)
  • Understand Contract objects in the from field of a transaction dict (#801)
brownie - brownie 1.11.8

Published by iamdefinitelyahuman about 4 years ago

Added

  • Automatically add tx as a local variable during interactive debugging (#796)

Changed

  • Gas buffer is not applied to transactions between EOAs (#798)
  • Use vyper instead of vvm for compilation, where possible (#797)

Fixed

  • Correctly highlight skipped, previously failing tests in red when using -U flag (#795)
brownie - brownie 1.11.7

Published by iamdefinitelyahuman about 4 years ago

Added

  • Support for Etherscan's multi-file source output (#786)
  • Improvements to console hinting and autocompletion (#788)

Changed

  • Bump suggested Ganache version to v6.11.0 (#787)

Fixed

  • Update non-payable heuristic for Vyper v0.2.5 (#784)
brownie - brownie 1.11.6

Published by iamdefinitelyahuman about 4 years ago

Added

  • Account.get_deployment_address (#763)
  • Use eth_unlockUnkonwnAccount to unlock arbitrary accounts in development mode (#776)

Changed

  • Generalize sys.argv handling for brownie test to allow arbitrary flags (#773)
  • Disable stdout capture when compiling a project prior to running tests (#774)
  • Attempt to determine proxy implementation without relying on Etherscan APi output (#777)

Fixed

  • Add gas_limit kwarg for Account.estimate_gas (#764)
  • Improve exception message on bytecode exceeding 24kb limit (#767)
  • Properly handle no installed compiler when using compile_source (#768)
brownie - brownie 1.11.5

Published by iamdefinitelyahuman about 4 years ago

Changed

  • EthAddress is now hashable (#756)
  • Warn instead of raising when an event has an incorrect number of topics (#759)

Fixed

  • More trace fixes (#760)
brownie - brownie 1.11.4

Published by iamdefinitelyahuman about 4 years ago

Added

  • Default interfaces in InterfaceContainer (#754)
  • --size flag for brownie compile to see deployed bytecode sizes (#750)

Changed

  • Improve error message for AttributeError from ProjectContract (#753)

Fixed

  • Check min solc version when using Contract.from_explorer (#752)
  • Issues related to interfaces and contracts using the same name (#751)
brownie - brownie 1.11.3

Published by iamdefinitelyahuman about 4 years ago

Added

  • InterfaceConstructor.selectors (#748)

Fixed

  • Ensure VirtualMachineError.__str__ always returns a string (#747)
  • Expanding traces when the contract is unknown (#745)
brownie - brownie 1.11.2

Published by iamdefinitelyahuman about 4 years ago

Added

  • chain.new_blocks for iterating over new blocks (#742)

Fixed

  • Various fixes involving transaction traces and subcalls (#741)
brownie - brownie 1.11.1

Published by iamdefinitelyahuman about 4 years ago

Added

  • gas_buffer setting for transactions (#739)

Fixed

  • Formatting issue when expanding call traces (#737)
brownie - brownie 1.11.0

Published by iamdefinitelyahuman about 4 years ago

Added

  • Support for multiple Vyper versions (#731)

Changed

  • Use solcx v1.0.0 (#733)
  • Always enter console when using brownie run -I (#732)
  • Allow namespace collisions between interfaces (#734)

Fixed

  • Ignore TempProject contracts when calculating coverage (#730)
brownie - brownie 1.10.6

Published by iamdefinitelyahuman about 4 years ago

Changed

  • Warn instead of raising when contract has a balance function (#721)
  • brownie run can run scripts outside of projects (#722)

Fixed

  • Allow using contract types in conftest (#719)
brownie - brownie 1.10.5

Published by iamdefinitelyahuman about 4 years ago

Changed

  • Container repr outside of console (#707)

Fixed

  • Do not shift gas values for ganache-cli>=6.10.1 (#704)
  • Handle multiple pragma statements in a single source (#708)
  • Do not call undo on general exceptions during call-as-tx (#713)
  • Correctly handle structs and enums outside of contracts (#715)
brownie - brownie 1.10.4

Published by iamdefinitelyahuman about 4 years ago

Added

  • --version cli flag (#705)

Fixed

  • Do not mutate hypothesis settings (#704)
brownie - brownie 1.10.3

Published by iamdefinitelyahuman over 4 years ago

Changed

  • Do not show stateful spinner when stdout is not suppressed (#696)

Fixed

  • Decoding error with internal revert message (#697)
  • Transaction verbosity during tests (#695)
  • Check for __getitem__/__call__ prior to showing type hints (#694)