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.16.2

Published by iamdefinitelyahuman about 3 years ago

Added

  • Allow specifying password when saving an account (#1216)

Fixed

  • Hardhat revert string format (#1218)
  • Clef formatter for EIP-1559 transactions (#1211)
brownie - brownie 1.16.1

Published by iamdefinitelyahuman about 3 years ago

Added

  • Set default values for max_fee and priority_fee (#1206)

Fixed

  • Recursively kill all RPC child processes on exit (#1200)
  • Issue with testing reverted contracts not found in deployment map (#1195)
  • Fix issue with missing contracts in coverage report (#1178)
  • Use eth.get_block to avoid deprecated method warning (#1203)
  • Correctly handle functions outside contracts when generating pcMap (#1205)
brownie - brownie 1.16.0

Published by iamdefinitelyahuman about 3 years ago

Added

  • Initial support for Hardhat Network as an alternative to Ganache (#1043)
  • Support for EIP-1559 transactions (#1179)
  • Added LocalAccount.sign_defunct_message method to sign EIP-191 text messages (#1163)

Fixed

  • Preserve active input when writing to the console (#1181)
  • Modifications to internal flow when handling transactions, fixes some threadlock issues (#1182)

Known issues

brownie - brownie 1.15.2

Published by iamdefinitelyahuman about 3 years ago

Fixed

  • Bump py-solc-ast version to fix AST issues with solc >=0.8.3 (#1165)
brownie - brownie 1.15.1

Published by iamdefinitelyahuman about 3 years ago

Fixed

  • Bugfix with caching eth_sendTransaction and related RPC calls (#1160)
brownie - brownie 1.15.0

Published by iamdefinitelyahuman over 3 years ago

Added

  • Add support remapping with a sub-folder (like OpenZeppelin/openzeppelin-contracts-upgradeable, ref: #1137)
  • Add polygon network integration (#1119)
  • Add support for POLYGONSCAN_TOKEN env var (#1135)
  • Add Multicall context manager (#1125)
  • Add initial support for Solidity 0.8's typed errors (#1110)
  • Add xdai network integration (#1136)
  • Added LocalAccount.sign_message method to sign EIP712Message objects (#1097)
  • Accept password as a kwarg in Account.load (#1099)
  • Basic support for clef as an account manager (allows hardware wallets) (#1104)
  • Updates to support Vyper v0.2.14 (#1155)

Fixed

  • Fixed subcalls to empty accounts not appearing in the subcalls property of TransactionReceipts (#1106)
  • Alert message bug (#1094)
  • Do not assume latest nonce is highest nonce when handling multiple pending tx's (#1098)
  • Accept Wei objects in gas strategies (#1113)
  • Do not warn when using no_call_coverage as a pytest mark (#1150)
brownie - brownie 1.14.6

Published by iamdefinitelyahuman over 3 years ago

Changed

  • Upgraded web3 dependency to version 5.18.0 (#1064)
  • Upgraded pytest dependency to version 6.2.3 (#1065)
  • Upgraded hypothesis dependency to version 6.10.0 (#1066)

Fixed

  • Issue with BSCSCAN_TOKEN (#1062)
  • Correctly load .env values (#1063)
brownie - brownie 1.14.5

Published by iamdefinitelyahuman over 3 years ago

Added

  • Added documentation detailing how private Github repositories can be used as a package installation source.
  • Add passphrase kwarg to Account.from_mnemonic (#1050)

Changed

  • Include chainId field when signing transactions (#1056)

Fixed

  • Fixed a formatting issue on the new environment variable section (#1038)
  • Fixed Github package installation failing for private repositories (#1055).
  • Adjusted Github API token error message so that it correctly emits when auth failure occurs (#1052)
  • Remove __ret_value__ prior to writing console output (#1057)
  • Handle missing contract when generating transaction receipt (#1058)
  • StopIteration issues within receipts (#1059)
  • Do not cache eth_newBlockFilter (#1061)
brownie - brownie 1.14.4

Published by iamdefinitelyahuman over 3 years ago

Added

  • Support for environment variables in brownie config (#1012)
  • Add Fantom to default networks (#980)

Changed

  • Gas report also shows average price for only confirmed txs (#1020)

Fixed

  • Add project to brownie namespace within console (#1029)
  • Balance contract member override (#1030)
  • Correct frame in pytest interactive debug mode (#1034)
brownie - brownie 1.14.3

Published by iamdefinitelyahuman over 3 years ago

Added

  • Support for BSCSCAN_TOKEN env var (#1017)

Fixed

  • Ensure node client supports filters before enabling caching middleware (#1009)
  • Support abicoder v2 pragma when verifying source code (#1018)
brownie - brownie 1.14.2

Published by iamdefinitelyahuman over 3 years ago

Fixed

  • Attaching to dockerized RPC-clients works on OSX without sudo (#995)
  • Bug when calling chain.mine without a timestamp (#1005)
brownie - brownie 1.14.1

Published by iamdefinitelyahuman over 3 years ago

Fixed

  • Improve logic around eth_getCode caching to consider selfdestruct via delegate call (#1002)
  • Standardize process of adding middlewares upon connection (#1001)
brownie - brownie 1.14.0

Published by iamdefinitelyahuman over 3 years ago

Added

  • Generalized RPC logic allowing (limited) use of geth --dev as a local test network (#998)
  • RPC call caching via web3 middleware (#997)
  • Allow tests to target project outside the current working directory via --brownie-project cli flag (#996)
  • Add BSC mainnet and fork-mode to default networks (#961)

Changed

  • export BROWNIE_LIB=1 to install brownie with soft pins. Also ensured hard pins for all dependencies are set. (#993)
brownie - brownie 1.13.4

Published by iamdefinitelyahuman over 3 years ago

Added

  • Detect EIP-1167 and Vyper minimal proxies (#984)
  • Decode ds-note events (#985)

Changed

  • During pytest interactive debugging , continue now exits the console to run the next test (#989)

Fixed

  • Issue around the "optimizer revert" in solidity 0.8.2 (#988)
brownie - brownie 1.13.3

Published by iamdefinitelyahuman over 3 years ago

Added

  • Option to choose console editting mode (#970)

Fixed

  • Strip whitespace from address_or_alias (#978)
  • Automatic source code verification on BscScan (#962)
  • Heuristic for nonpayable function revert in Vyper v0.2.11 (#979)
brownie - brownie 1.13.2

Published by iamdefinitelyahuman over 3 years ago

Added

  • Load installed packages via project.load (#971)

Changed

  • brownie run --interactive enters the console with the namespace of the successfully executed function (#976)

Fixed

  • Bump dependency version for eth-event to 1.2.1 to mitigate the topic generation bug for events with dynamic/fixed size tuple array inputs (#957)
  • Iterate over network connections instead of local process list to support RPC-attaching with host-based and dockerized RPC clients (#972)
  • Resolve hostnames provided in host network field to the actual IP when RPC-attaching (#972)
  • Correctly handle non-push instructions when parsing compiler outputs (#952)
  • Issue with implementation contract addresses pulled from eth_getStorageAt using Ganache v6.12.2 (#974)
brownie - brownie 1.13.1

Published by iamdefinitelyahuman over 3 years ago

Fixed

  • Verify that instruction is PUSH before popping pushed bytes (#935)
  • Handle empty return value from eth_getStorageAt (#946)
  • Do not decode event logs immediately (#947)
brownie - brownie 1.13.0

Published by iamdefinitelyahuman almost 4 years ago

Added

  • Automatic source code verification on Etherscan (#914)
  • Allow replacing transactions that were broadcasted outside of Brownie (#922)
  • Add decode_input, decode_output and info methods to OverloadedMethod object (#925)

Changed

  • Lazily decode events for confirmed transactions (#926)
brownie - brownie 1.12.4

Published by iamdefinitelyahuman almost 4 years ago

Changed

  • Use ReturnType instead of list for some _EventItem return values (#919)
  • Only decode events in reverting transactions upon request (#920)

Fixed

  • Correctly handle malformed calldata in subcalls (#913)
  • Brownie bake uses the default branch instead of assuming master (#917)
brownie - brownie 1.12.3

Published by iamdefinitelyahuman almost 4 years ago

Added

  • Exposed chain_id and network_id ganache-cli parameters. Forked networks retain chain_id. (#908)
  • Show more information about events in TransactionReceipt.info (#898)
  • Support for Solidity error codes (#906)
  • TxHistory.wait to wait for all pending transactions (#910)

Fixed

  • Handle missing source nodes due to Yul optimizer (#895)
  • Typo in link to mixes (#886)
  • Fixes for tracebacks and dev revert strings in Solidity 0.8.x (#907)
  • Console output for automatically repriced transactions (#909)