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.20.5 Latest Release

Published by iamdefinitelyahuman 5 months ago

Fixed

  • Handle missing blockNumber while awaiting confirmation (#1774)
  • Search parent paths for file import during source verification (#1776)
brownie - brownie 1.20.4

Published by iamdefinitelyahuman 5 months ago

Fixed

  • Fall back to ABI when Contract.from_explorer compilation fails (#1772)
brownie - brownie 1.20.3

Published by iamdefinitelyahuman 6 months ago

Added

  • Config setting to disable short-term caching (#1767)
  • Support for blast chain contract verification (#1765)
  • Support for additional anvil cmdline args (#1756)

Fixed

  • Target different blocks for live/dev networks when adding POA middleware (#1769)
  • Dict keys for nested tuples in returndata (#1768)
  • Solidity error code decoding (#1758)
brownie - brownie 1.20.2

Published by iamdefinitelyahuman 8 months ago

Added

  • Support for vyper 0.3.10 new pragma format (#1747)

Changed

  • Loosen package installation restrictions (#1753)

Fixed

  • Reset multicall call code even if call reverts (#1746)
  • TypeError when outputting custom errors (#1751)
brownie - brownie 1.20.1

Published by iamdefinitelyahuman 8 months ago

Added

  • verbose option for multicall debugging (#1743)

Fixed

  • handle exceptions within caching middleware (#1742)
  • update docopt-ng to support latest python (#1738)
  • camelCase to snake_case updates (#1737)
brownie - brownie 1.20.0

Published by iamdefinitelyahuman 9 months ago

Changed

  • Add support for Python 3.12, drop support for Python 3.9 (#1735)

Removed

  • Support for pythx (#1733)
  • Support for ethpm (#1734)
brownie - brownie 1.19.5

Published by iamdefinitelyahuman 9 months ago

Added

  • Support for custom / typed errors (#1728)

Changed

  • Default to EIP1559-style transactions on live networks (#1727)

Fixed

  • Readthedocs missing config file (#1729)
brownie - brownie 1.19.4

Published by iamdefinitelyahuman 9 months ago

Added

  • viaIR optimizer support (#1572)
  • Silent transactions when calling a contract (#1636)
  • Include encoded return data in transaction trace (#1715)
  • --no-compile flag to avoid project recompilation (#1507)
  • Support for various new EVM chains

Changed

  • set default vyper EVM version to paris (#1684)

Fixed

  • Force using utf-8 for reading contracts (#1712)
  • Fix verification for same named files (#1677)
  • KeyError when removing a contract (#1689)
brownie - brownie 1.19.3

Published by iamdefinitelyahuman over 1 year ago

Added

  • Ganache 7.7.x support (#1652)

Fixed

  • Anvil support, you can now access trace, events and return_value for anvil transactions (#1652)
  • Removes eth-abi depreciation warnings (#1639)
  • Bump web3.py dep to support async provider in threaded applications (#1664)
brownie - brownie 1.19.2

Published by iamdefinitelyahuman about 2 years ago

Added

  • Support for remappings in from_explorer (#1596)

Fixed

  • Handle Vyper immutables (#1623)
  • Correct Moonscan API for Moonbase Alpha testnet(#1611)
brownie - brownie 1.19.1

Published by iamdefinitelyahuman about 2 years ago

Fixed

  • Handle version bytecode for Vyper >=0.3.4 (#1578)
  • Handle Vyper >=0.3.4 coverage data generation breaking project compilation (#1586)
  • Handle null value of to field in transaction receipt so that contract deploying with Anvil works properly (#1573)
  • Avoid removing dependencies from the build (#1564)
brownie - brownie 1.19.0

Published by iamdefinitelyahuman over 2 years ago

Added

  • Initial support for Anvil, a blazing-fast local testnet node implementation in Rust (#1541)

Fixed

  • StopIteration when compiling some Vyper v0.3.3 contracts (#1547)
brownie - brownie 1.18.2

Published by iamdefinitelyahuman over 2 years ago

Added

  • Subscribe to events, with callbacks, using the corresponding contract instance (#1453)
  • Retrieve events that have occurred between two blocks using the corresponding contract instance (#1453)
  • Listening for an event using the associated contract instance (#1453)
  • Allow cache disabling when forking with ganache (#1473)
  • Detect 0xsplits clone proxies (#1524)

Fixed

  • Fix download of dependencies with special characters in tag/version (#1470)
  • Deepcopy config so that disconnecting and reconnecting to networks works fully (#1466)
  • Hardhat integration on Windows (#1482)
  • Handle equal sign in network RPC address (#1450)
  • ReturnValue comparison on tuples containing strings (#1476)
  • Ensure .env file exists on installed packages (#1504)
  • Bug when highlighting source code in GUI (#1512)
  • Bug when highlighting opcodes in GUI (#1513)
brownie - brownie 1.18.1

Published by iamdefinitelyahuman over 2 years ago

Fixed

  • Correctly modify chain time when using chain.mine with Ganache v7 (#1438)
brownie - brownie 1.18.0

Published by iamdefinitelyahuman over 2 years ago

Added

  • Support for Ganache v7 (#1409, #1410)
  • Add override argument to contract methods which allows changing the state before the call (#1412)
  • Allow to override EVM version per language (#1418)
  • Support for Alchemy via WEB3_ALCHEMY_PROJECT_ID environment var (#1401)
  • Support Ganache unlimited contract size (#1424)

Changed

  • Added a new solidity compiler setting use_latest_patch in brownie-config.yaml to use the latest patch version of a compiler based on the pragma version of the contract (#1383)
  • Add cli flag -r for raising exceptions to the caller instead of doing a system exit (#1394)

Fixed

  • Force files to be opened as UTF-8 (#1377)
  • Fix incremental compilation failing because of mismatching compiler versions (#1411)
brownie - brownie 1.17.2

Published by iamdefinitelyahuman almost 3 years ago

Changed

  • Bump deps to support vyper v0.3.1

Fixed

  • Support linked libraries in source verification (#1335)
  • Check for regex match when locating contract names in source (#1363)
brownie - brownie 1.17.1

Published by iamdefinitelyahuman almost 3 years ago

Added

  • Add support for ARBISCAN_TOKEN env var (#1319)
  • Add Avalanche to default networks and support for snowtrace (#1332)

Changed

  • Transactions are rebroadcasted until they appear in the mempool (#1327)
  • Avoid caching on chains with short blocktimes (#1297)

Fixed

  • Match single/double quote paths in source verification (#1323)
  • Change use of getcontext() (#1310)
  • IPv6-aware Hardhat (#1309)
brownie - brownie 1.17.0

Published by iamdefinitelyahuman about 3 years ago

Added

  • Arguments from the command line can now be passed to brownie scripts. (#398)
  • Fix etherscan verification w/ new solidity flattener (#1283)
  • Drop py36 support and add py39 to CI/dev tooling (#1289)
  • Bump dependencies (#1277)
  • Fix missing source in source object, grab from filesystem (#1290)
  • Add harmony mainnet to default network config(#1286)
  • Better panic messages for contract calls (#1275)

Fixed

  • Handle missing gasPrice in eth_getTransaction (#1285)
brownie - brownie 1.16.4

Published by iamdefinitelyahuman about 3 years ago

Added

  • Add only_confirmed as an optional kwarg for history.clear (#1251)
  • Add .env to default project gitignore (#1249)

Changed

  • Allow numbers in project names (#1254)

Fixed

  • Various Arbitrum related fixes (#1255)
  • Pass solc version when compiling ABI (#1243)
  • Correctly handle Erigon traces (#1245)
  • Replace EIP1559 tx's with the same tx type (#1250)
brownie - brownie 1.16.3

Published by iamdefinitelyahuman about 3 years ago

Added

  • Add API token to verify sources on ftmscan (#1226)
  • Add arbitrum-main to default networks in network-config.yaml (#1235)

Fixed

  • Prevent brownie from crashing when skipping tests with -s (#1220)
  • Thread safety for multicall (#1233)
Package Rankings
Top 1.42% on Pypi.org
Top 8.17% on Proxy.golang.org
Badges
Extracted from project README
Pypi Status Docs Status
Related Projects