Perpetual - The specified decimals for the collateral may not reflect the token's actual decimals  Acknowledged
When initializing the `Perpetual` contract, the deployer can decide to use either `ETH`, or an ERC20-compliant collateral. In the latter case, the deployer must provide a nonzero address for the token, as well as the number of `decimals` used by the token:\\n```\\nconstructor(address \\_collateral, uint256 decimals) public {\\n    require(decimals <= MAX\\_DECIMALS, "decimals out of range");\\n    require(\\_collateral != address(0x0) || (\\_collateral == address(0x0) && decimals == 18), "invalid decimals");\\n\\n    collateral = \\_collateral;\\n    scaler = (decimals == MAX\\_DECIMALS ? 1 : 10\\*\\*(MAX\\_DECIMALS - decimals)).toInt256();\\n}\\n```\\n\\nThe provided `decimals` value is not checked for validity and can differ from the actual token's `decimals`.
Ensure to establish documentation that makes users aware of the fact that the decimals configured are not enforced to match the actual tokens decimals. This is to allow users to audit the system configuration and decide whether they want to participate in it.
```\\nconstructor(address \\_collateral, uint256 decimals) public {\\n    require(decimals <= MAX\\_DECIMALS, "decimals out of range");\\n    require(\\_collateral != address(0x0) || (\\_collateral == address(0x0) && decimals == 18), "invalid decimals");\\n\\n    collateral = \\_collateral;\\n    scaler = (decimals == MAX\\_DECIMALS ? 1 : 10\\*\\*(MAX\\_DECIMALS - decimals)).toInt256();\\n}\\n```\\n