Releases: ApeWorX/ape
Ape 0.6.6
Changes
- fix: contract caching issue [APE-723] @unparalleled-js (#1341)
- feat: reduced docker build size to 448MB from 1.7GB [APE-702] @sabotagebeats (#1334)
- fix: add sepolia network to config [APE-698] @beef-tezos (#1333)
Special thanks to: @beef-tezos, @sabotagebeats and @unparalleled-js
Ape 0.6.5
Ape 0.6.4
Changes
- fix: skip deployments when not connected [APE-680] @unparalleled-js (#1324)
- fix: issue with providing str for bytes in calldata [APE-667] @unparalleled-js (#1319)
- docs: add anonymized analytics @fubuloubu (#1218)
- fix: remove trezor/ledger from reccomended plugins [APE-681] @helloibis (#1325)
- feat: implement contract log container [APE-662] @bilbeyt (#1316)
- docs: fix links [APE-671] @dtdang (#1321)
- chore: bump ethpm-types [APE-675] @unparalleled-js (#1323)
- feat: change cache folder path [APE-663] @bilbeyt (#1317)
- feat: support debugging from
conftest.py
load failure [APE-668] @unparalleled-js (#1320) - fix: link 404s in README doc [APE-664] @unparalleled-js (#1318)
- feat:
run_until_complete()
support multiple coroutines [APE-653] @unparalleled-js (#1315)
Special thanks to: @bilbeyt, @dtdang, @fubuloubu, @helloibis and @unparalleled-js
Ape 0.6.3
Changes
- fix: handle missing contract type JSONs [APE-650] @unparalleled-js (#1314)
- refactor: utilize new evm trace [APE-649] @unparalleled-js (#1313)
- feat: include raw trace-frame data in
TraceFrame
class. [APE-646] @unparalleled-js (#1312) - chore: update EIP712 pin [APE-644] @fubuloubu (#1311)
- refactor: make dependency compile method public [APE-641] @unparalleled-js (#1308)
- perf: improve performance of ape [APE-620] @bilbeyt (#1298)
- test: fix flaky tests [APE-640] @unparalleled-js (#1307)
- refactor: improve query manager [APE-639] @fubuloubu (#1306)
- fix: scripts not running unless click script in scripts folder [APE-634] @sabotagebeats (#1303)
- feat: sources and source path lookup improvements [APE-628] @unparalleled-js (#1300)
- feat: Allow any mnemonic to be used with generate_dev_accounts [APE-625] @bilbeyt (#1299)
- feat: ad-hoc network forking [APE-612] @fubuloubu (#1293)
- feat: way to get compilers easier [APE-607] @unparalleled-js (#1292)
- perf: improve performance of web3 provider send transaction @bilbeyt (#1274)
- chore: missing feedback from single-contract type JSON PR [APE-605] @unparalleled-js (#1291)
- feat: create abi files per contract @bilbeyt (#1239)
- fix: issue where missing
@network_option
causedIndexError
@unparalleled-js (#1286) - test: fix trace test setups @unparalleled-js (#1285)
Special thanks to: @bilbeyt, @fubuloubu, @sabotagebeats and @unparalleled-js
Ape 0.6.2
Changes
- fix: include active namespace in interactive script console @unparalleled-js (#1283)
- fix: issue where missing click decorator in CLI scripts caused all scripts to fail @unparalleled-js (#1282)
- chore: remove unused arguments on non-public API @unparalleled-js (#1279)
Special thanks to: @unparalleled-js
Ape 0.6.1
Changes
- fix: issue with default transaction type for Ethereum networks containing hyphens @unparalleled-js (#1275)
- fix: issue causing calls to fail when needing gas or trace info @unparalleled-js (#1276)
- fix: issue where
contracts_folder
was not honored in dependency @unparalleled-js (#1273)
Special thanks to: @unparalleled-js
Ape 0.6.0
Breaking Changes
-
fix!: change some
str
items toAddressType
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 theirget_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 returnTransactionAPI
@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 toWeb3Provider
@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: 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 yourape-config.yaml
file without needing
to puttype=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 forsender=
everywhere by configuring a default sender in yourape-config.yaml
. -
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
Ape 0.5.9
Changes
- fix: dependencies of dependencies @unparalleled-js (#1200)
- chore: update github actions to latest versions @fubuloubu (#1206)
- docs: update PyPI Links @fubuloubu (#1205)
- fix: issue where
poll_blocks()
did not detect chain re-org @unparalleled-js (#1192) - docs: readme updates @Ninjagod1251 (#1161)
- chore: make mdformat run number automatically @unparalleled-js (#1197)
- fix: use cached path @unparalleled-js (#1196)
- fix: remove description @NotPeopling2day (#1195)
- fix: issue where compiled dependencies before their time @unparalleled-js (#1194)
- chore: prevent multiple CI runs when using pushed branched @unparalleled-js (#1171)
- docs: fix discord link @unparalleled-js (#1191)
- docs: auto-formatter for markdown documentation @unparalleled-js (#1190)
- chore: add stale PR action @NotPeopling2day (#1188)
Special thanks to: @Ninjagod1251, @NotPeopling2day, @fubuloubu and @unparalleled-js
Ape 0.5.8
Changes
- fix: allow Gnosis Safe style proxies to work with earlier deployments @fubuloubu (#1178)
- fix: issues with dependencies of dependencies @unparalleled-js (#1183)
- test: ape init @Ninjagod1251 (#1175)
- refactor: use callTracer for geth style traces @unparalleled-js (#1177)
- feat: allow setting balance if current provider supports it @fubuloubu (#1173)
- fix: gas_limit of "auto" causes failure with unsupported providers @fubuloubu (#1180)
- fix: send subprocess provider output to
devnull
when log level aboveDEBUG
@unparalleled-js (#1172) - feat:
ape accounts export <ALIAS>
exports private key @sabotagebeats (#1170) - test: added testing for
accounts generate
seed phrase length @sabotagebeats (#1169)
Special thanks to: @Ninjagod1251, @fubuloubu, @sabotagebeats and @unparalleled-js
Ape 0.5.7
Changes
- feat: generate with mnemonic @sabotagebeats (#1165)
- fix: issue where dependency contract type would not compile @unparalleled-js (#1168)
- chore: changes from pyupgrade @unparalleled-js (#1163)
- feat: import Account from Mnemonic @sabotagebeats (#1142)
- feat: support regex in ape.reverts() @helloibis (#1162)
- feat: Adding in a .gitignore file on ape initialization @Ninjagod1251 (#1159)
- fix: change to http default in github clone for dependencies @unparalleled-js (#1153)
- feat: don't compile dependencies @unparalleled-js (#1152)
- docs: update CONTRIBUTING.md @eltociear (#1156)
- fix: another issue where editable plugins would not install correctly @unparalleled-js (#1155)
- fix: issue where directories with compiler extension in name would cause issues @unparalleled-js (#1147)
- feat: improve error when contract type collision @unparalleled-js (#1150)
- feat: configure global compiler ignore files @unparalleled-js (#1151)
- fix: convert
block_identifier
to hex @gosuto-inzasheru (#1146) - test: replace reverts mocks with geth provider @unparalleled-js (#1149)
Special thanks to: @Ninjagod1251, @eltociear, @gosuto-inzasheru, @helloibis, @sabotagebeats and @unparalleled-js