diff --git a/contracts/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index 0c8c344861..37287903d7 100644 --- a/contracts/dev-utils/CHANGELOG.json +++ b/contracts/dev-utils/CHANGELOG.json @@ -7,7 +7,7 @@ "pr": 1848 }, { - "note": "Add `LibssetData` and `LibTransactionDecoder` contracts", + "note": "Add `LibAssetData` and `LibTransactionDecoder` contracts", "pr": 1848 }, { diff --git a/contracts/dev-utils/contracts/src/OrderValidationUtils.sol b/contracts/dev-utils/contracts/src/OrderValidationUtils.sol index c30ea13d1a..0b04ff5804 100644 --- a/contracts/dev-utils/contracts/src/OrderValidationUtils.sol +++ b/contracts/dev-utils/contracts/src/OrderValidationUtils.sol @@ -47,12 +47,12 @@ contract OrderValidationUtils is /// @param order The order structure. /// @param signature Signature provided by maker that proves the order's authenticity. /// `0x01` can always be provided if the signature does not need to be validated. - /// @return orderInfo The hash, status, and `takerAssetAmount` already filled for the given order. - /// @return fillableTakerAssetAmount The amount of the order's `takerAssetAmount` that is fillable given all on-chain state. - /// If the `takerAssetData` encodes data for multiple assets, `fillableTakerAssetAmount` will represent a "scaled" + /// @return The orderInfo (hash, status, and `takerAssetAmount` already filled for the given order), + /// fillableTakerAssetAmount (amount of the order's `takerAssetAmount` that is fillable given all on-chain state), + /// and isValidSignature (validity of the provided signature). + /// NOTE: If the `takerAssetData` encodes data for multiple assets, `fillableTakerAssetAmount` will represent a "scaled" /// amount, meaning it must be multiplied by all the individual asset amounts within the `takerAssetData` to get the final /// amount of each asset that can be filled. - /// @return isValidSignature The validity of the provided signature. function getOrderRelevantState(LibOrder.Order memory order, bytes memory signature) public view @@ -134,9 +134,12 @@ contract OrderValidationUtils is /// @param orders Array of order structures. /// @param signatures Array of signatures provided by makers that prove the authenticity of the orders. /// `0x01` can always be provided if a signature does not need to be validated. - /// @return ordersInfo Array of the hash, status, and `takerAssetAmount` already filled for each order. - /// @return fillableTakerAssetAmounts Array of amounts for each order's `takerAssetAmount` that is fillable given all on-chain state. - /// @return isValidSignature Array containing the validity of each provided signature. + /// @return The ordersInfo (array of the hash, status, and `takerAssetAmount` already filled for each order), + /// fillableTakerAssetAmounts (array of amounts for each order's `takerAssetAmount` that is fillable given all on-chain state), + /// and isValidSignature (array containing the validity of each provided signature). + /// NOTE: If the `takerAssetData` encodes data for multiple assets, each element of `fillableTakerAssetAmounts` + /// will represent a "scaled" amount, meaning it must be multiplied by all the individual asset amounts within + /// the `takerAssetData` to get the final amount of each asset that can be filled. function getOrderRelevantStates(LibOrder.Order[] memory orders, bytes[] memory signatures) public view @@ -165,6 +168,10 @@ contract OrderValidationUtils is /// @param ownerAddress Address of the owner of the asset. /// @param assetData Description of tokens, per the AssetProxy contract specification. /// @return The amount of the asset tranferable by the owner. + /// NOTE: If the `assetData` encodes data for multiple assets, the `transferableAssetAmount` + /// will represent the amount of times the entire `assetData` can be transferred. To calculate + /// the total individual transferable amounts, this scaled `transferableAmount` must be multiplied by + /// the individual asset amounts located within the `assetData`. function getTransferableAssetAmount(address ownerAddress, bytes memory assetData) public view diff --git a/yarn.lock b/yarn.lock index 0bd6bd4f39..4550e56184 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5658,6 +5658,11 @@ deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" +deep-extend@~0.4.0: + version "0.4.2" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + integrity sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8= + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -16341,7 +16346,7 @@ tape@~2.3.2: resumer "~0.0.0" through "~2.3.4" -tar-fs@~1.16.3: +tar-fs@^1.13.0, tar-fs@~1.16.3: version "1.16.3" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" dependencies: