forked from ethereum/populus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
274 lines (199 loc) · 7.29 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
0.8.0
-----
- Removal of the `--logfile` command line argument. This is a breaking change
as it will break when used with older installs of `geth`.
0.7.5
-----
- Bugfix: `populus init` now creates the `libraries` directory
- Bugfix: `populus compile --watch` no longer fails if the `libraries`
directory isn't present.
0.7.4
-----
- Bugfix for the `geth_accounts` fixture.
- Bugfix for project initialization fixtures.
- Allow returning of `indexed` event data from Event.get_log_data
- Fix EthTesterClient handling of TransactionErrors to allow continued EVM
interactions.
- Bugfix for long Unix socket paths.
- Enable whisper when running a geth instance.
- Better error output from compile errors.
- Testing bugfixes.
0.7.3
-----
- Add `denoms` pytest fixture
- Add `accounts` pytest fixture
- Experimental synchronous function calls on contracts with `function.s(...)`
- Bugfixes for function group argument validation.
- Bugfixes for error handling within EthTesterClient
- Inclusion of Binary Runtime in compilation
- Fixes for tests that were dependent on specific solidity versions.
0.7.2
-----
- Make the ethtester client work with asynchronous code.
0.7.1
-----
- Adds `ipc_client` fixture.
0.7.0
-----
- When a contract function call that is supposed to return data returns no data
an error was thown. Now a custom exception is thrown. This is a breaking
change as previously for addresses this would return the empty address.
0.6.6
-----
- Actually fix the address bug.
0.6.5
-----
- Fix bug where addresses were getting double prefixed with `0x`
0.6.3
-----
- Bugfix for Event.get_log_data
- Add `get_code` and `get_accounts` methods to EthTesterClient
- Add `0x` prefixing to addresses returned by functions with multiple return
values.
0.6.3
-----
- Shorted path to cli tests to stay under 108 character limit for unix sockets.
- Adds tracking of contract addresses deployed to test chains.
- New `redeploy` feature available within `populus attach` as well as
notification that your contracts have changed and may require redeployment.
0.6.2
-----
- Shorted path to cli tests to stay under 108 character limit for unix sockets.
- Allow passing `--verbosity` tag into `populus chain run`
- Expand documentation with example use case for populus deploy/chain/attach
commands.
0.6.1
-----
- Change the *default* gas for transactions to be a percentage of the max gas.
0.6.0
-----
- Improve `populus deploy` command.
- Optional dry run to test chain
- Prompts user for confirmation on production deployments.
- Derives gas needs based on dry-run deployment.
- Addition of `deploy_coinbase` testing fixture.
- Renamed `Contract._meta.rpc_client` to be `Contract._meta.blockchain_client`
to be more appropriately named since the `EthTesterClient` is not an RPC
client.
- Renamed `rpc_client` argument to `blockchain_client` in all relevant functions.
- Moved `get_max_gas` function onto blockchain clients.
- Moved `wait_for_transaction` function onto blockchain clients.
- Moved `wait_for_block` function onto blockchain clients.
- Bugfix when decoding large integers.
- Reduced `gasLimit` on genesis block for test chains to `3141592`.
- Updated dependencies to newer versions.
0.5.4
-----
- Additional support for *library* contracts which will be included in
compilation.
- `deployed_contracts` automatically derives deployment order and dependencies
as well as linking library addresses.
- `deployed_contracts` now comes with the transaction receipts for the
deploying transaction attached.
- Change to use `pyethash` from pypi
0.5.3
-----
- New `populus attach` command for launching interactive python repl with
contracts and rpc client loaded into local scope.
- Support for auto-linking of library contracts for the `deployed_contracts`
testing fixture.
0.5.2
-----
- Rename `rpc_server` fixture to `testrpc_server`
- Introduce `populus_config` module level fixture which holds all of the
default values for other populus module level fixtures that are configurable.
- Add new configuration options for `deployed_contracts` fixture to allow
declaration of which contracts are deployed, dependency ordering and
constructor args.
- Improve overall documentation around fixtures.
0.5.1
-----
- Introduce the `ethtester_client` which has the same API as the
eth_rpc_client.Client class but interacts directly with the `ethereum.tester`
module
- Add ability to control the manner through which the `deployed_contracts`
fixture communicates with the blockchain via the `deploy_client` fixture.
- Re-organization of the contracts module.
- Support for multiple contract functions with the same name.
- Basic support for extracting logs and log data from transactions.
0.5.0
-----
- Significant refactor to the `Contract` and related `Function` and `Event`
objects used to interact with contracts.
- Major improvements to robustness of `geth_node` fixture.
- `deployed_contracts` testing fixture no longer provides it's own rpc server.
Now you must either provide you own, or use the `geth_node` or `rpc_server`
alongside it in tests.
- `geth_node` fixture now writes to a logfile located in
`./chains/<chain-name>/logs/` for both cli and test case runs.
0.4.3
-----
- Add support for address function args with a 0x prefix.
0.4.2
-----
- Add `init` command for initializing a populus project.
0.4.1
-----
- Missing `index.html` file.
0.4.0
-----
- Add blockchain management via `populus chain` commands which wraps `geth`
library.
- `populus chain run <name>` for running the chain
- `populus chain reset <name>` for resetting a chain
- Add html/css/js development support.
- Development webserver via `populus web runserver`
- Conversion of compiled contracts to web3 contract objects in javascript.
0.3.7
-----
- Add support for decoding multiple values from a solidity function call.
0.3.6
-----
- Add support for decoding `address` return types from contract functions.
0.3.5
-----
- Add support for contract constructors which take arguments via the new
`constructor_args` parameter to the `Contract.deploy` method.
0.3.4
-----
- Fix bug where null bytes were excluded from the returned bytes.
0.3.3
-----
- Fix a bug in the `sendTransaction` methods for contract functions that did
not pass along most of the `**kwargs`.
- Add new `Contract.get_balance()` method to contracts.
0.3.2
-----
- Enable decoding of `bytes` types returned by contract function calls.
0.3.1
-----
- Enable decoding of `boolean` values returned by contract function calls.
0.3.0
-----
- Removed `watch` command in favor of passing `--watch` into the `compile`
command.
- Add granular control to the `compile` command so that you can specify
specific files, contract names, or a combination of the two.
0.2.0
-----
- Update to `pypi` version of `eth-testrpc`
- Add new watch command which observes the project contracts and recompiles
them when they change.
- Improved shell output for compile command.
- Re-organized portions of the `utils` module into a new `compilation` module.
0.1.4
-----
- Fix broken import in `cli` module.
0.1.3
-----
- Remove the local RPC client in favor of using
https://github.com/pipermerriam/ethereum-rpc-client
0.1.2
-----
- Add missing pytest dependency.
0.1.1
-----
- Fix bug when deploying contracts onto a real blockchain.
0.1.0
-----
- Project Creation