Releases: delvtech/agent0
Releases · delvtech/agent0
Hyperdrive 8; RL-bot mvp; API improvements
What's Changed
- Added a new reinforcement learning pipeline to the Traider Daive lib
- Refactored and improved the Hyperdrive Interface as well as Interactive Hyperdrive
- Adds a new random bot that will hold trades
- Updated to support Hyperdrive 0.8.0
- Improved documentation
PRs
- Adding columns to database pool info table to contain missing fields from interface pool state by @slundqui in #1304
- refactor interface, fixtures, and agent state objects by @dpaiton in #1306
- Adding an option for running the dashboard in interactive hyperdrive by @slundqui in #1307
- Need to coerce float for plotting in interactive example by @slundqui in #1309
- Hyperdrive v0.7.1 by @slundqui in #1311
- add open long error messaging by @dpaiton in #1308
- TraiderDaive by @slundqui in #1310
- Moving traiderdaive installation to separate requirements by @slundqui in #1313
- Adjusting addresses for v0.7.1 by @slundqui in #1315
- update pyproject.toml by @wakamex in #1317
- Adding post action stage to bot runner by @slundqui in #1320
- add predict trade test by @wakamex in #1318
- add tests of economic intuition by @wakamex in #1316
- Random hold bots by @slundqui in #1321
- update agent0 readme by @dpaiton in #1322
- Rl bot improvements by @slundqui in #1323
- Snapshot policy state in interactive hyperdrive by @slundqui in #1324
- Running dashboard in interactive hyperdrive by @slundqui in #1325
- Hyperdrive Interface tutorial notebook by @slundqui in #1326
- Update for Hyperdrive v0.8.0 by @slundqui in #1327
- increment version by @dpaiton in #1328
Full Changelog: v0.14.0...v0.15.0
Hyperdrive 7 & fuzz bugfixes
What's Changed
- Update agent0 and hyperdrivepy wheels to support hyperdrive 0.7.0
- Bugfixes and improvements for fuzz and bot pipelines
PRs
- Fuzz updates by @slundqui in #1278
- Attempt a preview if a transaction call fails, by @slundqui in #1279
- Error handling when trades not closed within the same checkpoint by @slundqui in #1280
- Fixing issue in path independence fuzz with reporting warning when no paths were checked by @slundqui in #1281
- Changing vault shares check and changing exception message to not inc… by @slundqui in #1282
- lint with black-24 and fix changed foundry error message by @wakamex in #1287
- test trade prediction by @wakamex in #1285
- clone repo through https by @wakamex in #1268
- Error handling of calc max short by @slundqui in #1283
- Adding vault shares check in long short maturity values interactive fuzz by @slundqui in #1284
- Agent0 update for hyperdrive v0.6.0 by @slundqui in #1288
- Checking vault shares separately for long/short by @slundqui in #1290
- Hard coded error decode for insufficient liquidity by @slundqui in #1291
- Removing mockHyperdriveMath in addresses json if it exists by @slundqui in #1293
- Hotfix for hard coded error name by @slundqui in #1294
- Update for hyperdrive v0.6.2 by @slundqui in #1295
- Update agent0 to hyperdrive v0.7.0 by @slundqui in #1296
- Hotfix to call to preview when transaction fails by @slundqui in #1297
- rename hyperdrive_interface to interface by @dpaiton in #1299
- Logging ticker when all paths fail in fuzz by @slundqui in #1300
- test share price compounding by @wakamex in #1298
- update interactive deployer agent to know balances by @dpaiton in #1301
- Updating starting block for data pipeline by @slundqui in #1302
- bump version by @dpaiton in #1303
Full Changelog: v0.13.0...v0.14.0
fuzz test improvements
What's Changed
- Improved error messaging and documentation for fuzz tests
- Resolved many bugs and erroneous checks in the fuzz tests
- Bugfixes and improvements to the lp and arb bot
PRs
- Fuzzing fixes by @slundqui in #1231
- open_random_trades guaranteed to not pass position duration by @slundqui in #1232
- adds descriptions to each of the fuzz tests by @dpaiton in #1233
- Code cleanup and logging var renames of long short maturity values fuzz by @slundqui in #1234
- add present value equality check to path independence fuzz test by @dpaiton in #1236
- random policy uses min transaction amount for trade lower bound by @dpaiton in #1238
- Interactive fuzz logs subset of report to rollbar by @slundqui in #1239
- pass in minimum_trade_amount to lpandarb.py by @wakamex in #1235
- modify fuzz max trade amount to use get_max by @dpaiton in #1241
- Changes for path independence check by @slundqui in #1242
- improve calc_pnl functionality by @wakamex in #1207
- interactive fuzz trades use correct max amount by @dpaiton in #1245
- PNL Hotfix and standalone event script getter update by @slundqui in #1247
- Various updates to fuzz testing by @slundqui in #1249
- add present value fuzz invariance test by @dpaiton in #1248
- improve LPandArb bot by @wakamex in #1240
- Better rollbar logging and path invariance test upgrades by @slundqui in #1252
- Randomizes closing order in log_short_maturity_values by @slundqui in #1253
- Add invariant checks to fuzz tests by @sentilesdal in #1251
- Fuzz logging fixes by @slundqui in #1255
- Fixing continuous inv check for total shares due to inaccuracy of sha… by @slundqui in #1256
- Adding epsilon to maturity value checks by @slundqui in #1257
- Adding microseconds to crash report name to prevent overwriting by @slundqui in #1258
- update to hyperdrive 5 by @dpaiton in #1259
- Setting max rows on ticker and reducing plot data if no deltas by @slundqui in #1261
- Interactive hyperdrive defaults to not coercing floats by @slundqui in #1250
- fix bug: pass base not bonds to open long in LPandArb by @wakamex in #1260
- support hyperdrive 0.5.1 by @dpaiton in #1262
- Updating get_all_events to deploy multiple pools by @slundqui in #1263
- increase fuzz bot budget & add randomly ignoring slippage by @dpaiton in #1265
- Setting position duration in interactive fuzz by @slundqui in #1266
- Hotfixes for hyperdrive v0.5.1 by @slundqui in #1267
- Hotfixes for fuzz bots by @slundqui in #1270
- Using variable names for more descriptive exception errors by @slundqui in #1271
- Path independence checks lp_share_price instead of share_price now by @slundqui in #1272
- Setting epsilon value for lp share price in path invariance by @slundqui in #1274
- update doc strings and error messaging by @dpaiton in #1273
- fix liquidity present value tests by @dpaiton in #1275
- update python project version by @dpaiton in #1277
Full Changelog: v0.12.0...v0.13.0
hyperdrive4; improved testing
What's Changed
- improves crash reporting, rollbar support, and exception messages
- improves hyperdrive deploy to rely on pypechain generated objects
- reformats interface API into read_only and read_write versions
- adds ability for an interactive agent to liquidate all trades
- improves testing coverage
- improvements and bugfixes in hyperdrive invariance checks and fuzz tests
- support hyperdrive 0.4.0
PRs
- check postgres status by @wakamex in #1124
- lint with ruff by @wakamex in #1116
- Minor updates on interactive example by @slundqui in #1126
- Docs linting by @slundqui in #1127
- update docstring style guide by @wakamex in #1129
- ensure random trades have successful status in random bot test by @dpaiton in #1131
- add eth config test by @dpaiton in #1133
- update hypertypes by @dpaiton in #1134
- Test speedup and cleanup by @slundqui in #1132
- Removing budget from policy by @slundqui in #1135
- Global rng spawns children rng for plicies by @slundqui in #1137
- agent0 known first party by @wakamex in #1139
- Policy config rework by @slundqui in #1140
- rename hyperdrive to interface by @dpaiton in #1141
- add functions to hyperdrive interface api by @dpaiton in #1142
- Allowing policies in interactive hyperdrive agents by @slundqui in #1143
- make block number optional in get_gov_fees_accrued by @wakamex in #1145
- Load/save snapshots using interactive hyperdrive by @slundqui in #1146
- fix get max short docstring by @wakamex in #1147
- invariant tests by @dpaiton in #1138
- Pool state snapshot test by @slundqui in #1153
- simplifies run_agents; adds ability to bump bot funds by @dpaiton in #1154
- Adjusting path independence script to run by @slundqui in #1150
- Add rollbar logging to fuzzbots. by @sentilesdal in #1152
- Minting from deploy account by @slundqui in #1157
- Adding set variable rate to interactive hyperdrive by @slundqui in #1156
- Updating interactive fuzz scripts to run and assert (some are failing currently) by @slundqui in #1158
- Fixing create checkpoint call in interface by @slundqui in #1159
- moves setup_logging function up a level by @dpaiton in #1160
- add logging to path independence test by @dpaiton in #1161
- regenreate types by @sentilesdal in #1168
- Adding flag to advance time to create intermediate checkpoints as needed by @slundqui in #1163
- rename set_rate to set_variable_rate in the Interface by @dpaiton in #1167
- make preview calls only when necessary for slippage by @wakamex in #1149
- Running data pipeline in a thread for performance in interactive hyperdrive by @slundqui in #1169
- allow private key to be passed to interactive agent by @wakamex in #1144
- Fix up some interactive fuzz tests to unify logging & format by @dpaiton in #1170
- Add close positions past maturity fuzz tests by @sentilesdal in #1162
- Making pool cleanup private in favor of calling chain.cleanup() by @slundqui in #1172
- reorganize interactive fuzz tests to use shared functions by @dpaiton in #1171
- Adding save_state function by @slundqui in #1173
- fuzz profit check bugfix by @dpaiton in #1174
- Add dump state to fuzz tests by @slundqui in #1175
- Automate Interactive Fuzz Tests by @sentilesdal in #1176
- Adding assertion checks to fuzz_long_short by @slundqui in #1177
- Changing checkpoint default by @slundqui in #1178
- Fuzz bot add logs by @slundqui in #1179
- Reworking index bookkeeping for chainsync by @slundqui in #1180
- fuzz command args bugfix & more fuzz logging by @dpaiton in #1182
- Removing debug prints by @slundqui in #1183
- remove old function by @wakamex in #1181
- test interactive get config by @wakamex in #1136
- add interface tests by @wakamex in #1184
- Allow advance time with checkpoints without data pipeline for speedup by @slundqui in #1186
- rename api to interface by @wakamex in #1185
- Fuzz bot invariant checks logging rework by @slundqui in #1187
- Fuzz inv hotfix by @slundqui in #1189
- Adding experimental flag to chain to allow for slow but won't crash mode by @slundqui in #1190
- add optional command line arg to run_all_fuzz_tests by @dpaiton in #1188
- increment project version by @dpaiton in #1191
- create hyperdrive interface fixture by @wakamex in #1192
- move chain fixture to agent0.test_fixtures by @wakamex in #1193
- add retry_utils test by @wakamex in #1194
- Non-experimental mode runs data pipeline synchronously by @slundqui in #1195
- Logging failed variables in fuzz tests to rollbar by @slundqui in #1197
- add liquidate to interactive hyperdrive by @wakamex in #1198
- add transaction unit tests by @dpaiton in #1196
- add liquidate test by @wakamex in #1200
- econ experiment by @wakamex in #1148
- Fixing exception message and adding todos by @slundqui in #1202
- Adjusting default timeout to account for block mining mode by @slundqui in #1203
- Removing invariance checks that shouldn't be checked, and being explicit about checking effective share reserves by @slundqui in #1205
- Minimum txn amount check and test by @slundqui in #1204
- Path independence tests turns off fees by @slundqui in #1208
- Adding assertions to long_short_maturity_values by @slundqui in #1209
- add minimum_transaction_amount to get_liquidation_trades by @wakamex in #1210
- Custom exceptions subclasses from Exception instead of BaseException by @slundqui in #1211
- Better rollbar logging by @slundqui in #1212
- Adding checkpoint_id to checkpoint info field for crash reporting by @slundqui in #1215
- regenerate hypertypes by @sentilesdal in #1217
- Explicit checks of checkpoint duration and position durations by @slundqui in #1219
- split hyperdrive interface into read & readwrite versions by @dpaiton in #1220
- Adds interface endpoints for building Trade objects by @dpaiton in #1221
- Randomize liquidation by @slundqui in #1222
- Use pypechain's new deploy method by @sentilesdal in #1218
- Setting fixedpointmath requirements to be from pypi by @slundqui in #1224
- additional interactive hyperdrive tests by @wakamex in #1223
- New best effort for getting block number on crash by @slundqui in #1227
- update for latest hyperdrive and hyperdrivepy by @dpaiton in #1214
- update version to 0.11.0 by @dpaiton in #1229
Full Changelog: v0.10.0...v0.12.0
Hyperdrive invariant fuzz testing
What's Changed
- Added new invariant fuzz tests for Hyperdrive
- Improved performance of the Interactive Hyperdrive
- Added capability to log crash reports to rollbar
- Various code fixes, cleanups, tests
PRs
- check postgres status by @wakamex in #1124
- lint with ruff by @wakamex in #1116
- Minor updates on interactive example by @slundqui in #1126
- Docs linting by @slundqui in #1127
- update docstring style guide by @wakamex in #1129
- ensure random trades have successful status in random bot test by @dpaiton in #1131
- add eth config test by @dpaiton in #1133
- update hypertypes by @dpaiton in #1134
- Test speedup and cleanup by @slundqui in #1132
- Removing budget from policy by @slundqui in #1135
- Global rng spawns children rng for plicies by @slundqui in #1137
- agent0 known first party by @wakamex in #1139
- Policy config rework by @slundqui in #1140
- rename hyperdrive to interface by @dpaiton in #1141
- add functions to hyperdrive interface api by @dpaiton in #1142
- Allowing policies in interactive hyperdrive agents by @slundqui in #1143
- make block number optional in get_gov_fees_accrued by @wakamex in #1145
- Load/save snapshots using interactive hyperdrive by @slundqui in #1146
- fix get max short docstring by @wakamex in #1147
- invariant tests by @dpaiton in #1138
- Pool state snapshot test by @slundqui in #1153
- simplifies run_agents; adds ability to bump bot funds by @dpaiton in #1154
- Adjusting path independence script to run by @slundqui in #1150
- Add rollbar logging to fuzzbots. by @sentilesdal in #1152
- Minting from deploy account by @slundqui in #1157
- Adding set variable rate to interactive hyperdrive by @slundqui in #1156
- Updating interactive fuzz scripts to run and assert (some are failing currently) by @slundqui in #1158
- Fixing create checkpoint call in interface by @slundqui in #1159
- moves setup_logging function up a level by @dpaiton in #1160
- add logging to path independence test by @dpaiton in #1161
- regenreate types by @sentilesdal in #1168
- Adding flag to advance time to create intermediate checkpoints as needed by @slundqui in #1163
- rename set_rate to set_variable_rate in the Interface by @dpaiton in #1167
- make preview calls only when necessary for slippage by @wakamex in #1149
- Running data pipeline in a thread for performance in interactive hyperdrive by @slundqui in #1169
- allow private key to be passed to interactive agent by @wakamex in #1144
- Fix up some interactive fuzz tests to unify logging & format by @dpaiton in #1170
- Add close positions past maturity fuzz tests by @sentilesdal in #1162
- Making pool cleanup private in favor of calling chain.cleanup() by @slundqui in #1172
- reorganize interactive fuzz tests to use shared functions by @dpaiton in #1171
- Adding save_state function by @slundqui in #1173
- fuzz profit check bugfix by @dpaiton in #1174
- Add dump state to fuzz tests by @slundqui in #1175
- Automate Interactive Fuzz Tests by @sentilesdal in #1176
- Adding assertion checks to fuzz_long_short by @slundqui in #1177
- Changing checkpoint default by @slundqui in #1178
- Fuzz bot add logs by @slundqui in #1179
- Reworking index bookkeeping for chainsync by @slundqui in #1180
- fuzz command args bugfix & more fuzz logging by @dpaiton in #1182
- Removing debug prints by @slundqui in #1183
- remove old function by @wakamex in #1181
- test interactive get config by @wakamex in #1136
- add interface tests by @wakamex in #1184
- Allow advance time with checkpoints without data pipeline for speedup by @slundqui in #1186
- rename api to interface by @wakamex in #1185
- Fuzz bot invariant checks logging rework by @slundqui in #1187
- Fuzz inv hotfix by @slundqui in #1189
- Adding experimental flag to chain to allow for slow but won't crash mode by @slundqui in #1190
- add optional command line arg to run_all_fuzz_tests by @dpaiton in #1188
Full Changelog: v0.10.0...v0.11.0
interactive agent0
What's Changed
- adds an interactive agent0 workflow to enable running economic experiments in jupyter notebooks
- improves typing system using pypechain
- various bug fixes, doc improvements, and new tests
PRs
- Adding explicit postgres version in database janitor by @slundqui in #1098
- Lateral deps need to install packages with all dependencies by @slundqui in #1100
- move stateful variables into their own folder & centralize types by @dpaiton in #1099
- convert LPandArb bot to use rust sdk by @wakamex in #1102
- random agent policy test by @dpaiton in #1103
- Interactive Agent0 by @slundqui in #1101
- Adding docs badge to readme by @slundqui in #1109
- Fixing and cleaning up various db interface issues with interactive hyperdrive by @slundqui in #1110
- Update Hypertypes by @sentilesdal in #1104
- agent0 banner and fix codecov to ignore generated files by @dpaiton in #1111
- move camel_to_snake by @sentilesdal in #1112
- Consolidate hypertypes types, integrate pypechain by @sentilesdal in #1113
- add multimethod to requirements by @wakamex in #1114
- mark tests by @wakamex in #1115
- increment agent0 version to 0.10.0 by @dpaiton in #1117
Full Changelog: v0.9.0...v0.10.0
deprecate elfpy; hyperdrive 0.3.0
What's Changed
- Rename repo from elf-simulations to agent0
- Deprecate elfpy
- Update to support Hyperdrive 0.3.0
- Improve API DX & docs
- Improve fuzz test workflow
PRs
- increments version by @dpaiton in #1068
- API updates for consistent and modifiable state by @dpaiton in #1063
- easier to adjust api pool state by @dpaiton in #1069
- Fix Hyperdrive API docstrings by @dpaiton in #1074
- check docker desktop socket by @wakamex in #1076
- Update for hyperdrive v0.2.0 by @slundqui in #1075
- separate local chain fixture logic by @wakamex in #1081
- test bots hitting target rate by @wakamex in #1078
- move logs out of elfpy by @dpaiton in #1080
- Ethpy transaction hotfixes by @slundqui in #1079
- move trade, market type, WEI, json encoder out of elfpy by @dpaiton in #1082
- deprecate elfpy by @dpaiton in #1083
- hotfix for pylintrc by @dpaiton in #1084
- Db api server hotfix by @slundqui in #1085
- Get events script by @slundqui in #1086
- Removes existing test postgres container if it exists in tests by @slundqui in #1088
- Adding parameter controlling if we stop chain on crash for fuzz bots by @slundqui in #1089
- rename cls to interface in api hidden methods by @dpaiton in #1090
- Hyperdrive 0 3 0 by @slundqui in #1087
- Retries in submitting transactions by @slundqui in #1091
- Agent wallet state test against chain by @slundqui in #1092
- Changing default value for fuzzbots for stopping the chain on crash by @slundqui in #1093
- renames from elf-simulations to agent0 by @dpaiton in #1094
- update codecov badge by @dpaiton in #1095
- increment version by @dpaiton in #1096
Full Changelog: v0.8.3...v0.9.0
crash report and api improvements
What's Changed
- reorganizes API for better developer experience
- adds new functions to hyperdrive-rs and the python wrappers
- improves crash reporting
PRs
- increments version by @dpaiton
- Merge pull request #1066 from delvtech/develop by @dpaiton
- mock open long and short by @dpaiton in #1062
- Fix typos in INSTALL.md by @ryangoree in #1047
- delete hyperdrive notebook by @dpaiton in #1061
- Bug fixes for getting total supply withdrawal shares in pool info by @slundqui in #1056
- Changing args to build_user_mapping to allow for offline data by @slundqui in #1055
- Hotfix for decimal too large in transactions table in export by @slundqui in #1054
- Lateral installs also includes the lateral package base dependencies by @slundqui in #1053
- Adding error lookup in preview transaction by @slundqui in #1052
- Export db to parquet and import parquet to pandas by @slundqui in #1051
- Fixing arguments to smart contract functions in python by @slundqui in #1049
- Raw transaction in crash report by @slundqui in #1048
- refactor Hyperdrive API by @slundqui in #1042
- adds calc_bonds_given_rate_and_shares api function by @dpaiton in #1040
- Wrapping contract calls in custom exception by @slundqui in #1046
- No longer setting maturity time when not set by @slundqui in #1041
- Machine crash report by @slundqui in #1036
- Adding explicit script for running fuzz testing that pauses chain on crash by @slundqui in #1035
- Option for machine readable crash report to file by @slundqui in #1034
- Adding anvil state to crash report by @slundqui in #1029
- Always preview and preview on same block. Fixing slippage in policies. by @slundqui in #1028
Full Changelog: v0.8.2...v0.8.3
adds lp and arb bot; trading comp fixes; speedup w/ contract calls
What's Changed
- new lp-and-arb bot for making smart arbitration trades
- a lot of various bugfixes from feedback during the trading competition
- bot process is faster with fewer contract calls
PRs
- Crash report in valid json format, adding exp backoff to wait for trx receipt by @slundqui in #1012
- adds vault shares as a Hyperdrive API property by @dpaiton in #1013
- Adding in vault shares and checkpoint info to crash reporting by @slundqui in #1014
- new bot: LP and Arb by @wakamex in #1000
- Mention arguments in STYLEGUIDE.md by @wakamex in #1016
- fix typing issues from latest pyright update by @dpaiton in #1019
- Adding more logging info to checkpoint bot by @slundqui in #1017
- fix api checkpoint acquisition by @dpaiton in #1020
- Explicitly calculating withdrawal shares pnl instead of preview by @slundqui in #1024
- Updating list of usernames by @slundqui in #1023
- fix convergence in LPandArb bot by @wakamex in #1030
- Analysis hotfix by @slundqui in #1031
- Adjusting withdrawal shares value by @slundqui in #1032
- analysis bug fix by @slundqui in #1037
- Don't check base when launching bots by @slundqui in #1038
- Analysis hotfix by @slundqui in #1043
- Exp backoff when trading if new block by @slundqui in #1044
- Fixing when to aggregate when multiple trades per block by @slundqui in #1059
- tick project version by @dpaiton in #1064
Full Changelog: v0.8.1...v0.8.2
various bugfixes for trading comp
What's Changed
- Fixed bugs with crash reporting, user registry, and example defaults for the trading competition
- Adds API functions for calculating fees
PRs
- Hotfix for crash report by @slundqui in #999
- use min and max apr in add liquidity call by @wakamex in #1001
- Checkpoint bot bugfix by @slundqui in #1003
- Changing bot script defaults for halting and logging by @slundqui in #1004
- add foundry as dev requirement by @wakamex in #1005
- don't allow trades if bot doesn't have enough base by @sentilesdal in #1007
- Dashboard token naming by @slundqui in #1006
- add get_in_out funcs to interface by @wakamex in #1008
- Updating list of wallet to username mappings by @slundqui in #1009
- increment pyproject version by @dpaiton in #1011
Full Changelog: v0.8.0...v0.8.1