* Stop restarting node unnecesssarily during test * Add new, empty LibAssetData * Support encoding & decoding of ERC20 asset data * Support encoding & decoding of ERC721 asset data * Support encoding & decoding of ERC1155 asset data * Support encoding & decoding of multi-asset data * Support querying ERC20 balance from asset data * Support querying ERC721 balance from asset data * Support querying ERC1155 balance from asset data * Support querying balance from multi-asset data * Support querying ERC20 allowance from asset data * Support querying ERC721 allowance from asset data * Support querying ERC1155 allowance from asset data * In tests, wait for allowance set before checking * Introduce temporary variable `assetDataBody` * Handle edge case in multi-asset balance query * Support multi-asset allowance query by asset data * Move variable declaration up for readability. * Make all solhint-disable's cite specific rules And move the directives to the ends of lines whenever possible * Rename query tests to include " by asset data" * Extract test helper method * Extract another test helper method * Support batch queries of allowances & balances * In LibAssetData.sol, use IERC1155, not ...Mintable * Rename balance*() return vars: amount -> balance * Fix bug in ERC721 balance query Was using method balanceOf(), but needed to be using ownerOf(). getERC721TokenOwner() method lifted from @0x/extensions/contracts/src/OrderValidator/OrderValidator.sol * Reuse new en/decoders; avoid abi.decode(). * Start lowest allowance/balance from 0, not MAX_INT * Properly implement ERC1155 balance querying * Split lines for readability * Also check isApprovedForAll in 721 allowance query * Add neglected division of allowances by amounts * Rename methods: balanceOf -> getBalance * Rename methods: allowance -> getAllowance * Add methods: getBalanceAndAllowance() & batch...() * Rename return vars: amount -> allowance * Add devdoc comments * Rename batchGet* methods to getBatch* * Remove refactoring relic * Add revert messages to all require() calls * Reduce gas usage for ERC1155 asset data decoding * Don't use dockerized solc for ERC20 contracts Because they demand solc version 0.4.26, and it seems as though the tag for that version has been deleted from dockerhub. Without this, @0x/contracts-erc20 was failing to build. * Rename batch functions to use plurals * Skip dockerized solc for contracts needing 0.4.26 I seems as though the tag for that version has been deleted from dockerhub. Without this, these contracts were failing to build. * Make revert reasons follow snake case convention
37 lines
1.1 KiB
JSON
37 lines
1.1 KiB
JSON
{
|
|
"artifactsDir": "./generated-artifacts",
|
|
"contractsDir": "./contracts",
|
|
"useDockerisedSolc": true,
|
|
"isOfflineMode": false,
|
|
"compilerSettings": {
|
|
"evmVersion": "constantinople",
|
|
"optimizer": {
|
|
"enabled": true,
|
|
"runs": 1000000,
|
|
"details": { "yul": true, "deduplicate": true, "cse": true, "constantOptimizer": true }
|
|
},
|
|
"outputSelection": {
|
|
"*": {
|
|
"*": [
|
|
"abi",
|
|
"evm.bytecode.object",
|
|
"evm.bytecode.sourceMap",
|
|
"evm.deployedBytecode.object",
|
|
"evm.deployedBytecode.sourceMap"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"contracts": [
|
|
"src/ERC1155Proxy.sol",
|
|
"src/ERC20Proxy.sol",
|
|
"src/ERC721Proxy.sol",
|
|
"src/MixinAuthorizable.sol",
|
|
"src/MultiAssetProxy.sol",
|
|
"src/interfaces/IAssetData.sol",
|
|
"src/interfaces/IAssetProxy.sol",
|
|
"src/interfaces/IAuthorizable.sol",
|
|
"src/libs/LibAssetData.sol"
|
|
]
|
|
}
|