Skip to content

Ape 0.6.0

Compare
Choose a tag to compare
@github-actions github-actions released this 31 Jan 19:02
· 838 commits to refs/heads/main since this release
053db7b

Breaking Changes

  • fix!: change some str items to AddressType where it makes sense @unparalleled-js (#1262)
    Now, plugins can use more accurate types when defining these methods.

  • fix!: don't use Union type in BaseInterfaceModel @fubuloubu (#1224)
    Now, you can properly set the gas or transaction type when sending a transaction.

  • feat!: conform ProviderAPI.get_receipt() @dtdang (#1214)
    Now, provider plugins can define custom kwargs on their get_receipt() implementation.

  • feat!: refactor account history APIs @Ninjagod1251 (#1210)
    Now it is much easier to get account history, with an improved API.

  • feat!: update TransactionError arg order @NotPeopling2day (#1226)
    Now it is much easier to raise a transaction error.

  • feat!: encode and decode calldata from contracts @unparalleled-js (#1160)
    You can now, without function invocation, encode and decode calldata off a contract.
    This helps our multisig use-case.

  • feat!: Make OutOfGasError a VirtualMachineError @Ninjagod1251 (#1209)
    Now, your provider can return OutOfGasError for virtual machine errors without typing concerns.

  • refactor!: replace evm-types in our APIs with custom generic types @unparalleled-js (#1213)
    Because of this, we will now be able to support tracing in non-EVM ecosystems, such as
    Starknet.

  • refactor!: use lists for logs on receipt instead of iterator @unparalleled-js (#1244)
    Making assertions on the logs emitted from a receipt is now much more intuitive.
    No list-comprehension is needed.

  • refactor!: modify AccountAPI.sign_transaction to return TransactionAPI @fubuloubu (#1201)
    By allowing a transaction to be returned instead of a signature, we are more able to support
    complex wallets such as multisigs.

  • refactor!: prepare_transaction() logic to Web3Provider @NotPeopling2day (#1202)
    For non-EVM ecosystem plugins, it is more intuitive to realize you need to implement
    prepare_transaction() (rather than override).

Changes

  • fix: add missing 0x prefix to Signature representation @unparalleled-js (#1215)

  • fix: issue from type-ignoring TransactionSignature @unparalleled-js (#1212)

  • fix: except AttributeError when checking for account @unparalleled-js (#1208)

  • fix: parse empty array of structs into empty list @fubuloubu (#1243)

  • fix: update org.label-schema.docker.cmd to reflect user harambe @sabotagebeats (#1252)

  • fix: misses from other PRs @unparalleled-js (#1248)

  • fix: issues with static fee transactions @unparalleled-js (#1247)

  • fix: issue with str type in is_contract() @unparalleled-js (#1246)

  • fix: cleanup for use_sender manager @bilbeyt (#1240)

  • fix: update proxy info errors @NotPeopling2day (#1225)

  • feat: run scripts from subfolders @sabotagebeats (#1185)
    You can now run scripts in subdirectories like this: ape run subdir myscript

  • feat: add EVM support for Multicall3 @fubuloubu (#1189)
    Save requests by using multi-call from ape-ethereum. You can invoke multiple transactions at
    once this way!

  • feat: include bytecode in JSON raw compiler if present @unparalleled-js (#1261)
    Are you trying to use non-Ape projects with pre-compiled contracts in them? Well, now you can.

  • feat: encode struct-like arguments as tuples for ape-ethereum @fubuloubu (#1230)
    You can now pass objects or dictionaries for struct-inputs on contract invokes.

  • feat: support selection of default transaction type in config @bilbeyt (#1255)
    Now, you can set the default transaction type in your ape-config.yaml file without needing
    to put type=0 on every transaction.

  • feat: utilize ImpersonatedAccount for contract transactions @bilbeyt (#1242)
    Now, if a provider plugin does not have custom handling for impersonated accounts, core is able to
    handle it.

  • feat: allow setting txn on OutOfGasError @unparalleled-js (#1259)
    Now you can tell what the transaction was from an OutOfGasError.

  • feat: add support to create test accounts runtime @bilbeyt (#1199)
    Create accounts on-the-fly in your testing environments.

  • feat: add default sender manager @bilbeyt (#1229)
    Eliminate the need for sender= everywhere by configuring a default sender in your ape-config.yaml.

  • docs: update versions and setup.py @bilbeyt (#1256)

  • docs: move projects from README.md to docs/userguides/projects.md @sabotagebeats (#1253)

  • docs: update style and font for docs @fubuloubu @agBabbbyCakes (#1235)

  • docs: update to reflect harambe user in ape docker container command @sabotagebeats (#1251)

  • docs: added constructor arguments to docs/userguides/contracts.md @sabotagebeats (#1245)

  • docs: update sponsor link @fubuloubu (#1236)

  • docs: fix gas_limit example in config guide @milkyklim (#1232)

  • refactor: TransactionErrors and standardize transaction passing @NotPeopling2day (#1250)

  • refactor: return default config when network not found @fubuloubu (#1238)

  • test: fix flaky tests @unparalleled-js (#1254)

  • chore: remove outdated comment @unparalleled-js (#1258)

  • chore: add a security policy @fubuloubu (#1184)

  • chore: remove all <3.8 backports @fubuloubu (#1207)

Special thanks to: @Ninjagod1251, @NotPeopling2day, @bilbeyt, @dtdang, @fubuloubu, @milkyklim, @sabotagebeats and @unparalleled-js @agBabbbyCakes