> For the complete documentation index, see [llms.txt](https://docs.liquidapps.io/liquidapps-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.liquidapps.io/liquidapps-documentation/release-notes/history/2.1.7848.md).

# 2.1.7848

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

#### [docs](https://liquidapps.gitbook.io/liquidapps-documentation)

* add ERC1155 EOSIO <> EVM bridge guide
* update EOSIO <> EOSIO bridge guide to support new parameters
* add governance guides
* update code blocks to use cpp/js/json files accordingly to make the code look nice
* bunch of other small things

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

* update `ipfs-api` to `^26.1.2`
* cleanup/refactor `zeus/boxes/groups/core/test-extensions/lib/atomic/index.js` atomic assets library to make creating templates, schemas, collections, and fetching next asset ID / template ID simpler
* update docs link in README files
* update `go-ipfs` to `^0.10.0`&#x20;
* specify nodejs versions `>=12.0.0 <14.0.0` acceptable
* add multi stake test to `airhodl.spec.js`
* add `eth-gas-reporter` and `hardhat` support to `zeus/boxes/groups/eth-sdk/eth-extensions/zeus-box.json`&#x20;
* add `bitManipulation.sol` file to handle `slice` , `bytesToString` conversion, and `string_tobytes` conversion for URI
* update `ipfsd-ctl` version to `10.0.4`&#x20;
* update `ipfs` version to `^0.59.1`&#x20;
* consolidate `atomicassets` contracts to its own box instead of duplicating code
* support `--evm-sister-port` for sidechain EVM instance
* add defaults endpoints for each EVM chain
* update default params for eip1559 max fees
* use RPC instead of web socket for EVM endpoint by default
* add default params for Rinkeby and Ropsten testnets to ecosystem configuration file
* add flattened files to make contract verification on etherscan easier
* increase response timeout for demux to not prematurely fail incoming requests if demux under load
* add `atomictokenpeg1155` zeus box including EOSIO/ETH contracts, unit tests
  * `atomictokenpeg1155.cpp` EOSIO contract handling EOSIO or EVM originating NFTs.  Allows creation of mapping by NFT collection owner on EOSIO chain `regcolection`.  NFT collection owner may also register each supported NFT `regnft`.&#x20;
    * In the case of EVM originating token, can use `evmeossetup` which requires bridge permission level to register existing ERC1155 contract
  * `atomictokenpeg1155.sol` handles message from `atomictokenpeg1155.cpp` file to create/burn NFTs
  * `IERC1155Tradable.sol` handles implementation of `burn`, `safeTransferFrom`, `create`, and `uri` functions.
  * `atomictokenpeg1155evm2eosio.sol` handles EVM originating ERC1155 contract, uses transfers instead of create/burn.
  * `IERC1155Tradable.sol` handles `safeTransferFrom` and `uri` functions for `ERC1155Tradeable.sol` contract
  * `ERC1155Tradable.sol` [OpenSea's ERC1155 contract](https://github.com/ProjectOpenSea/opensea-creatures/blob/master/contracts/ERC1155Tradable.sol) adjusted for bridge's needs to delete metadata before burn.
  * `atomictokenpeg1155.spec.js` tests for EOSIO originating NFT
    * transfer eos -> eth
    * Manual refund to sender when eos account doesn't exist, to control gas cost
    * Auto refund to sender when EVM account doesn't exist
    * transfer eth -> eos
    * register new NFT, try double register (fails), and transfer
  * `atomictokenpeg1155evm2eosio.spec.js` tests for EVM originating ERC1155
    * transfer eth -> eos
    * Auto refund to sender when eth address doesn\\'t exist
    * Transfers nft from eos to eth
    * Manual refund to sender when eos account doesn\\'t exist
    * register new NFT, try double register, and transfer
  * update `atomictokenpeg` box handling EOSIO atomic assets <> ERC721 nfts
    * `atomictokenpeg.cpp`
      * add asset mapping singleton&#x20;
      * BUG: pass token address to `evmeossetup` instead of in memo to control address
      * check if NFT already mapped
      * ensure bridge does not register NFT with same immutable data
      * make collection author RAM payer for registration
      * if NFT mapping not found on inbound eth -> eos NFT transfer, mark for manual refund
    * `atomictokenpegeosio.cpp` / `atomictokenpegxeosio.cpp`&#x20;
      * fix bug where NFT with different template id, schema name, or collection name could not be mapped
      * make collection author RAM owner of registering NFT
      * verify incoming NFT has been registered and mapped, creating double mapping
    * `atomictokenpeg.spec.js` clean up and support running at any time, used to throw errors if the asset id, template IDs were not hard coded
    * `atomictokenpegeosio.spec.js` clean up for same reason, support new reverse mapping parameters
    * `atomictokenpegevm2eosio.spec.js` clean up and support arbitrary run without hard coded values

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

* specify nodejs versions `>=12.0.0 <14.0.0` acceptable
* update `go-ipfs` to `^0.10.0`&#x20;
* update `ipfsd-ctl` version to `10.0.4`
* update `ipfs` version to `^0.59.1`&#x20;

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

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

#### dappservices contract

* add `provider` to `refreceipt` action to more easily allow governance 3rd party staking

### 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)

#### [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)

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

#### [LiquidLink Service](/liquidapps-documentation/dapp-network-services/dapp-network-services/liquidlink.md)

#### Link Library

* add assertion error to prevent `link.hpp` lib from processing requests if processing disabled, previously would only prevent reschedule of interval
