# 2.1.7111

## 2.1.7111

**DAPP Token Inflation Tuning**

#### [Packages](https://docs.liquidapps.io/en/v2.0/dsps/packages.html)

**deprecation notice** deprecating official support for node version 10, new support for 12 for zeus/dsp

#### [docs](https://docs.liquidapps.io/en/stable/)

#### [@liquidapps/zeus-cmd](https://www.npmjs.com/package/@liquidapps/zeus-cmd)

* add flag `zeus test tokenpeg --services "oracle,cron,ipfs"` flag `--services` allows pretty name for each service specified in the models folder of that service, to be spun up for use in testing or creating an environment.  This speeds up unit testing time drastically.
* add `--abi-serializer-max-time-ms=100` to local nodeos for unit testing to avoid occasional serialization errors
* add command `zeus upsert-dsp-permission <endpoint> <contract> <key> <providers> <services>` to automatically configure DSP settings for service actions
* enforce `MESSAGE_RECEIVED_HOOK`, `MESSAGE_RECEIVED_FAILURE_HOOK`, `MESSAGE_RECEIPT_HOOK`, `MESSAGE_RECEIPT_FAILURE_HOOK` handlers be set for eosio link library
* add `fbatches` table to record failed batches in eosio link library
* add code comments to eosio link library
* add example failure hooks from above to `linkconsumer.cpp` and `linkconsumerx.cpp`
* add failure hooks to `ethtokenpeg.cpp` & `tokenpeg/x.cpp`, both bridges now handle the automatic return of funds if the transfer, post LIB or finality check, falls outside of the `LINK_PROCESSING_TIMEOUT` window
* add code comments to `tokenpeg` contracts
* add unit tests for tokenpeg if sidechain or mainnet destination account does not exist, auto refund
* add getTable, awaitTable, and delay to seed-tests box for unit testing
* using eosio-push-guarantee library for unit testing, default in-block push guarantee
* enable gnache wrapped compiling eth with `zeus compile --phase "eth"`
* fixes
  * 2nd DSP for LiquidHarmony assigned correct port and running as internal node

#### [@liquidapps/dsp](https://www.npmjs.com/package/@liquidapps/dsp)

* add `verbose_logs` setting for `config.toml` config file for DSP, enables verbose logs for DSP related services
* add `max_request_retries`, max retries to fetch an oracle request or ipfs warmup, or any other blocking DSP service action, default 10
* add `dsp_push_guarantee_per_service`, allows push guarantee to be set per service, default none
* add better logs in general for DSP services
* prevent duplicate attempt at DSP oracle trx
* allow multiple oracle requests within a transaction
* add demux `eidosonecoin` & `gravyhftdefi` contract blacklists to ignore trxs to not slow down demux
* add gnache logs to `/logs` folder for DSP/Zeus
* add `broadcast_event_timeout` to toml for timeout for DSPs not responding
* using eosio-push-guarantee library for default push guarantee of in-block
* fixes
  * patch assembly script install for vcpu service
  * encodedKeys backwards compatibility fix
  * downgrade IPFS to static version 0.54.2 because of compatibility issues with latest versions
  * fix hyperion replay script, now searches over 24 hour periods, performs all commits, then moves to next 24 hour period

#### [@liquidapps/dapp-client](https://www.npmjs.com/package/@liquidapps/dapp-client)

#### dappservices contract

### DSP Services:

#### [LiquidAccount Service](https://docs.liquidapps.io/en/v2.0/services/vaccounts-service.html)

#### [LiquidVRAM Service](https://docs.liquidapps.io/en/stable/services/ipfs-service.html)

* improve logging

#### [LiquidStorage Service](https://docs.liquidapps.io/en/stable/services/storage-service.html)

#### [LiquidHarmony Service](https://docs.liquidapps.io/en/stable/developers/harmony-getting-started.html)

* add unit test for 1/2 DSPs being down
* add dsp / zeus logs for displaying what URIs are being fetched
* add test/smart contract action for multiple oracle requests within one transaction
* fixes
  * fix issue with oracle transaction failing if 1 or more DSP non-responsive

#### [LiquidScheduler Service](https://docs.liquidapps.io/en/stable/developers/cron-getting-started.html)

* add `testabort` action and unit test for ensuring contract aborts transaction
* add multiple log handlers for rescheduling crons if a trx fails because the destination account for a bridge transfer does not exist, a duplicate trx error occurs, or a `required service` error message is received from a failed oracle transaction that was unable to process the request, or other broadcast service
